[英]My barplot with errorbars in ggplot2 is wrong
最小的可重現示例在這里:
library(ggplot2)
vals <- c(10, 12, 13, 20, 21, 28)
err <- c(0.85, 1.2, 0.9, 1.35, 2.2, 0.98)
cat <- c(rep("A",3),rep("B",3))
df <- data.frame(vals, err, cat)
df$cat<- as.factor(df$cat)
ggplot(df, aes(x=cat, y=vals, fill=vals)) +
geom_bar(stat='identity', position='dodge') +
geom_errorbar(aes(ymin=vals-err, ymax=vals+err), width=.1)
但是我希望每只cat
有兩列彼此相鄰。 更接近於此:
我在這里做錯了什么?
如果每一行都是單獨的觀察,則需要明確說明。 做一個索引變量,把它變成一個因子,然后把它放在 x 軸上。
如果obs
跨類別重復(例如,如果 A 和 B 的obs
編號為 1、2 和 3),則使用facet_wrap(~ cat)
對cat
進行刻面。
vals <- c(10, 12, 13, 20, 21, 28)
err <- c(0.85, 1.2, 0.9, 1.35, 2.2, 0.98)
cat <- c(rep("A",3),rep("B",3))
df <- data.frame(vals, err, cat)
df$cat<- as.factor(df$cat)
df$obs <- factor(1:nrow(df))
ggplot(df, aes(x=obs, y=vals, fill=cat)) +
geom_col(position='dodge') +
geom_errorbar(aes(ymin=vals-err, ymax=vals+err))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.