如何使用R中的x、y数据绘制条形图和误差条形图

如何使用R中的x、y数据绘制条形图和误差条形图,r,plot,errorbar,R,Plot,Errorbar,我有以下格式的数据 X ID Mean Mean+Error Mean-Error 61322107 cg09959428 0.39158198 0.39733463 0.38582934 61322255 cg17147820 0.30742542 0.31572314 0.29912770 61322742 cg08922201 0.47443355 0.47973039 0.46913671 61322922 cg08360511 0.066147

我有以下格式的数据

X        ID         Mean       Mean+Error Mean-Error
61322107 cg09959428 0.39158198 0.39733463 0.38582934
61322255 cg17147820 0.30742542 0.31572314 0.29912770
61322742 cg08922201 0.47443355 0.47973039 0.46913671
61322922 cg08360511 0.06614797 0.06750279 0.06479315
61323029 cg00998427 0.05625839 0.05779519 0.05472160
61323113 cg15492820 0.10606674 0.10830587 0.10382761
61323284 cg02950427 0.36187007 0.36727818 0.35646196
61323413 cg01996653 0.35582920 0.36276991 0.34888849
61323667 cg14161454 0.77930230 0.78821970 0.77038491
61324205 cg25149253 0.93585347 0.93948514 0.93222180
如何使用列(条形图)打印错误条形图


其中X轴具有X值。因此,每个条形图将以固定宽度的X绘制

我试着回答。我正在使用一个名为plotly的包。您可以查看更多详细信息

df <- read.csv('test.csv')
colnames(df) <- c("x", "id", "mean", "mean+error", "mean-error")
df$`mean+error` = df$`mean+error` - df$mean
df$`mean-error` = df$mean - df$`mean-error`

library(plotly)

p <- ggplot(df, aes(factor(x), y = mean)) + geom_bar(stat = "identity")
p <- plotly_build(p)

length(p$data)

p$layout$xaxis

plot_ly(df, x = 1:10, y = mean, type = "bar",  
        error_y = list(symmetric = F, 
                       array = df$`mean+error`,
                       arrayminus = df$`mean-error`,
                       type = "data")) %>% 
  layout(xaxis = list(tickmode = "array",tickvals = 1:10,ticktext = df$x))

df最流行的方法可能是在
ggplot2
中使用
geom\u errorbar()

library("ggplot2")
ggplot(df, aes(x=ID, y = Mean)) + 
  geom_bar(stat="identity", fill="light blue") +
  geom_errorbar(aes(ymin = Mean.Error, ymax = Mean.Error.1))

其中
Mean.Error
Mean.Error.1
是当您试图以文本形式阅读示例时得到的Mean+/-Error的标题名称。

查看ggplot2的可能副本,我可以实现,但问题是我有其他系列,如线形图和散点图,难以合并(布局)因为它们不是网格图。@prog添加+geom_line()或geom_scatter应该没什么大不了的。但那不是你的问题。你应该接受这些答案中的一个,然后尝试添加其他几何图形,并问另一个问题,你仍然有麻烦。