-2

我有以下格式的数据。

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 处。

4

2 回答 2

0

我会试着回答。我正在使用一个名为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))

我明白了:

在此处输入图像描述

于 2016-03-08T14:10:39.720 回答
0

最流行的方法可能是使用geom_errorbar()in ggplot2

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

于 2016-03-08T14:14:20.973 回答