2015-03-02 143 views
-1

我想生成一个类似于this link的图。但是,我想显示每个均值的误差线,我不知道如何在R中执行此操作。 我想将MeansG1和MeansG2绘制为单独的图。我的数据:使用R中相同x轴和不同y轴的多个绘图的绘图方法和标准误差

data<-structure(list(MeansG1=c(10.780877,8.675726,10.398065,11.617315,12.231693,8.292337,8.093416,10.744478,10.531539,11.459219,12.316292,11.272801), 
       STEG1=c(0.2578710,0.2569172,0.2502743,0.2558724,0.2523819,0.2427068,0.2507437,0.2475850,0.2421691,0.2365641,0.2350861,0.2312222), 
       MeansG2=c(11.780877,9.675726,11.398065,12.617315,13.231693,12.292337,12.093416,12.744478,12.531539,11.459219,12.316292,12.272801), 
       STEG2=c(0.2578710,0.2569172,0.2502743,0.2558724,0.2523819,0.2427068,0.2507437,0.2475850,0.2421691,0.2365641,0.2350861,0.2312222)), 
      .Names = c("MeansG1", "STEG1", "MeansG2", "STEG2"), row.names=1:12,class = "data.frame")  

谢谢。

+1

请尝试。 – Khashaa 2015-03-02 11:53:12

+1

你尝试了什么?显示你的代码。 – 2015-03-02 12:03:49

+1

今天,该链接有4个图表。你能否更具体一些? – jbaums 2015-03-02 12:49:32

回答

0

我更喜欢polygon()这类任务。下面是一个使用你的数据的例子。我希望它有帮助,并让我知道是否有任何需要解释。

# get the data ready 
g1 <- data.frame(mean = data$MeansG1, 
       up = data$MeansG1 + data$STEG1, 
       down = data$MeansG1 - data$STEG1) 
g2 <- data.frame(mean = data$MeansG2, 
       up = data$MeansG2 + data$STEG2, 
       down = data$MeansG2 - data$STEG2) 
plotData <- list(g1, g2) 

# setup the plotting region 
par(mfcol = c(2, 1)) 

### make the plots 
for(i in plotData){ 
    dd <- i 
    plot(dd$mean, type = "n", ylim = range(dd)) 
    xvals <- 1:dim(dd)[1] 
    polygon(c(xvals, rev(xvals)), c(dd$up, rev(dd$down)), col = "#ff000050", border = NA) 
    lines(dd$mean, col = "red") 
} 
相关问题