我有一個數據集,看起來像這樣:GGPLOT2多個連續可變繪圖
Distance Mean SD Median VI Vegetation.Index Direction X X.1 X.2 X.3
1 10m 0.525 0.082 0.530 NDVI NDVI Whole Landscape NA NA NA NA
2 25m 0.517 0.085 0.523 NDVI NDVI Whole Landscape NA NA NA NA
3 50m 0.509 0.086 0.514 NDVI NDVI Whole Landscape NA NA NA NA
4 100m 0.494 0.090 0.497 NDVI NDVI Whole Landscape NA NA NA NA
5 10m 0.545 0.076 0.551 NDVIe NDVI East NA NA NA NA
6 25m 0.542 0.078 0.549 NDVIe NDVI East NA NA NA NA
> dput(droplevels(head(data)))
structure(list(Distance = structure(c(2L, 3L, 4L, 1L, 2L, 3L), .Label = c("100m",
"10m", "25m", "50m"), class = "factor"), Mean = c(0.525, 0.517,
0.509, 0.494, 0.545, 0.542), SD = c(0.082, 0.085, 0.086, 0.09,
0.076, 0.078), Median = c(0.53, 0.523, 0.514, 0.497, 0.551, 0.549
), VI = structure(c(1L, 1L, 1L, 1L, 2L, 2L), .Label = c("NDVI",
"NDVIe"), class = "factor"), Vegetation.Index = structure(c(1L,
1L, 1L, 1L, 1L, 1L), .Label = "NDVI", class = "factor"), Direction = structure(c(2L,
2L, 2L, 2L, 1L, 1L), .Label = c("East", "Whole Landscape"), class = "factor"),
X = c(NA, NA, NA, NA, NA, NA), X.1 = c(NA, NA, NA, NA, NA,
NA), X.2 = c(NA, NA, NA, NA, NA, NA), X.3 = c(NA, NA, NA,
NA, NA, NA)), .Names = c("Distance", "Mean", "SD", "Median",
"VI", "Vegetation.Index", "Direction", "X", "X.1", "X.2", "X.3"
), row.names = c(NA, 6L), class = "data.frame")
我想創建一個barplot面網格上的x軸的分類變量(距離),連續可變y軸(植被指數)和兩個巴條(平均和中值的營養指數值)。該欄通過「方向」和「植被指數」繪製曲線。
我已經完成了一種類型的度量(均值),如下圖所示。
這裏是我現在的代碼:
p = ggplot(data,aes(x=Distance,y=Mean,fill=Distance)) + geom_bar(stat =
'identity',position='dodge')+ facet_grid(Direction~Vegetation.Index)+
coord_cartesian(ylim=c(0.2,0.95)) + geom_errorbar(data = data,
aes(ymin=Mean-SD,ymax=Mean+SD),width=0.5)
但我也想爲它旁邊正中一間酒吧。
Like this但對於所有的方塊網格條形圖。
我發現人們想要做這個確切的或類似的事情某些線程,並發現它們是相當有用的:
然而,我的數據看起來與他們的很不一樣(我認爲)並以任何方式改變它已經弄亂了我已有的東西。根據我的理解,我必須使用group ='Mean + Median'。
請一個[重複的例子(點擊鏈接,許多技巧)(http://stackoverflow.com/q/5963269/903061)。不要共享數據的圖像。取而代之的是(a)使用看起來像數據的內置數據,(b)共享短代碼來模擬樣本數據,或者(c)使用'dput()'重複共享您的數據(或者可能是數據的一部分) 。 – Gregor
此外,請更清楚您的期望輸出。 「沿着x軸的多個連續變量」沒有多大意義,尤其是對於一個barplot。條形圖的x軸是分類的,而不是連續的。你的意思是你想要沿着X軸的*類型的度量*,例如一箇中間的酒吧,一個酒吧的平均值? – Gregor
經過您的澄清,看起來您的第一個問題鏈接幾乎是完全重複的。您需要將您的數據**轉換爲長格式**,其中您只有一個「* measure *」列,可以使用「mean」或「median」和單個「* value *」列採用平均值或中值的數值。你可以使用'melt' [就像這個答案](http://stackoverflow.com/a/30023982/903061)那樣做。 – Gregor