向ggplot2 R中的堆叠条形图添加误差线-已解决

斯特罗比拉

我试图在堆叠的条形图上绘制误差条形图。

我有两个数据矩阵,一个是均值,另一个是标准dev。

    > m_mean
                    TP'   TP*    FP
high / 60         5.445 6.162 1.673
high / 120        5.436 5.098 0.942
high / 180        5.060 3.576 0.242
high / 210        4.705 2.709 0.105
medium high / 60  4.915 6.462 2.086
medium high / 120 4.605 5.652 1.178
medium high / 180 3.940 4.219 0.479
medium high / 210 3.440 3.412 0.208
medium / 60       3.690 7.330 2.290
medium / 120      3.021 6.375 1.611
medium / 180      2.634 4.712 0.659
medium / 210      2.134 3.800 0.482
low / 60          1.626 7.060 3.652
low / 120         1.268 5.626 2.464
low / 180         0.960 3.946 1.379
low / 210         0.703 2.942 1.084
    > m_devs
                        TP'      TP*        FP
high / 60         1.7291515 1.738614 1.5577219
high / 120        1.6925628 1.718531 1.0429399
high / 180        1.6664865 1.610844 0.4976783
high / 210        1.5704908 1.434705 0.3347941
medium high / 60  1.7125150 1.785986 1.7854388
medium high / 120 1.6774352 1.762953 1.1303069
medium high / 180 1.5921479 1.666078 0.7484111
medium high / 210 1.5845854 1.490798 0.4847380
medium / 60       1.6830724 1.751619 1.7569824
medium / 120      1.4651641 1.806000 1.2865980
medium / 180      1.4373970 1.672679 0.8375085
medium / 210      1.2765867 1.527198 0.7498255
low / 60          1.2568626 1.793772 2.0845242
low / 120         1.0475081 1.878204 1.5630570
low / 180         0.9794689 1.666692 1.1818442
low / 210         0.7882972 1.518862 1.0059602

我两个矩阵改变格式从WIDELONG

library(reshape2)
  table2 <- melt(m_mean)
  table3 <- melt(m_devs)
  colnames(table2) <- c("Combination", "Legend", "Mean")
  colnames(table3) <- c("Combination", "Legend", "SD") 
  attach(table2)
  attach(table3)

我已经使用绘制了图 ggplot2

library(ggplot2)
  gg<-ggplot(table2, aes(x = Combination, y = Mean, fill = Legend)) + 
    geom_bar(stat = "identity")+ scale_fill_grey()+
    theme_light()+

    labs(title = "MAIN TITLE")+
    theme(axis.text.y  = element_text(face="bold", vjust=0.5, size=10),
          axis.text.x  = element_text(face="bold", vjust=1, size=10,angle = 30, hjust = 1))+
    scale_y_continuous(limits=c(0, 14),breaks = seq(0,14,2))

我尝试按照一些有用的答案绘制误差线,例如:https : //stackoverflow.com/search?q=stacked+ bars+errors+ggplot,但我不明白为什么我不使用正确的绘制误差线值和正确位置

library(ggplot2)
  gg<-ggplot(table2, aes(x = Combination, y = Mean, fill = Legend)) + 
    geom_bar(stat = "identity")+ scale_fill_grey()+
    theme_light()+

    toString(lunghezza),sep=""))+
    theme(axis.text.y  = element_text(face="bold", vjust=0.5, size=10),
          axis.text.x  = element_text(face="bold", vjust=1, size=10,angle = 30, hjust = 1))+
    scale_y_continuous(limits=c(0, 14),breaks = seq(0,14,2))
  # Define the top and bottom of the errorbars
  gg <- gg + geom_errorbar(aes(ymax = Mean + SD, ymin=Mean - SD),
                          position = "identity", width = 1)
伏安

正如我所评论的,您可以直接为每个错误栏计算新的y_position:

library(plyr)
set.seed(1)
df = data.frame(group = sample(LETTERS[1:3], 100,replace = T),
            var1 = rnorm(100,10,3),
            var2 = rnorm(100,20,5),
            var3 = rnorm(100,50,10))

m_mean = ddply(df, "group", summarize, var1 = mean(var1), var2 = mean(var2), var3 = mean(var3))
m_devs = ddply(df, "group", summarize, var1 = sd(var1), var2 = sd(var2), var3 = sd(var3))

table2 = melt(m_mean)
table3 = melt(m_devs)

colnames(table2)[3] = "Mean"
colnames(table3)[3] = "SD"

table4 = merge(table2, table3)

ggplot(table4, aes(group, Mean, fill = variable)) + 
geom_bar(stat = "identity") + 
geom_errorbar(aes(ymax = Mean + SD, ymin=Mean - SD), position = "identity", width = 1)

这是带有随机数据的类似图:

在此处输入图片说明

这是一个解决方案,在绘制之前先计算y位置:

# solution
table4$y_pos = NA
table4$y_pos[table4$variable == "var1"] = table4$Mean[table4$variable == "var1"]
table4$y_pos[table4$variable == "var2"] = table4$Mean[table4$variable == "var1"] + 
table4$Mean[table4$variable == "var2"]
table4$y_pos[table4$variable == "var3"] = table4$y_pos[table4$variable == "var2"] + 
table4$Mean[table4$variable == "var3"]

ggplot(table4, aes(group, Mean, fill = variable)) + 
geom_bar(stat = "identity") + 
geom_errorbar(aes(ymax = y_pos + SD, ymin = y_pos - SD), position = "identity", width = 1)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ggplot2中的单个条形图,R

来自分类Dev

r ggplot2堆叠的条形图未绘制所有层

来自分类Dev

向R中的ggplot2中的堆叠条形图添加水平线,并在图例中显示

来自分类Dev

R ggplot2堆叠条形图通过列的值归一化

来自分类Dev

向R中的条形图添加分组线

来自分类Dev

如何在ggplot中的堆叠条形图中将误差线组织到相关条?

来自分类Dev

使用ggplot将误差线添加到R中的聚簇条形图中

来自分类Dev

如何将已计算的标准误差值添加到条形图(ggplot)中的每个条形?

来自分类Dev

如何使用ggplot2为分组条形图绘制误差线?

来自分类Dev

在ggplot2中设置堆叠条形图的条形顺序

来自分类Dev

ggplot2中的堆叠条形图,带有2个系列的条形图(不同的列)

来自分类Dev

在R ggplot中的堆叠条形图顶部添加总计数

来自分类Dev

按顺序指示在ggplot2中堆叠条形图的y方向上的更改顺序

来自分类Dev

在dplyr中按分组后在ggplot2条形图中添加误差线

来自分类Dev

堆积条形图ggplot上的单个误差线

来自分类Dev

如何在ggplot2中向有序条形图添加频率百分比

来自分类Dev

为什么在r ggplot2中添加构面时,堆叠条形图会发生变化

来自分类Dev

带有ggplot2的R中的条形图

来自分类Dev

ggplot2:使用组均值堆叠条形图

来自分类Dev

将线添加到ggplot2中的双条形图

来自分类Dev

R ggplot2堆叠条形图通过列的值归一化

来自分类Dev

ggplot2:3向交互堆积条形图的分组条形图

来自分类Dev

在ggplot2中的堆叠条形图上方绘制线

来自分类Dev

如何在R中的ggplot2中向条形图方面添加百分比?

来自分类Dev

ggplot2 中带有误差条的分组条形图

来自分类Dev

ggplot2 - 向条形图添加比例和计数值

来自分类Dev

使用 ggplot2 的 5 维堆叠条形图

来自分类Dev

用 R ggplot2 中的百分比从头开始分类变量的堆叠条形图

来自分类Dev

ggplot2 堆叠和组合条形图

Related 相关文章

  1. 1

    ggplot2中的单个条形图,R

  2. 2

    r ggplot2堆叠的条形图未绘制所有层

  3. 3

    向R中的ggplot2中的堆叠条形图添加水平线,并在图例中显示

  4. 4

    R ggplot2堆叠条形图通过列的值归一化

  5. 5

    向R中的条形图添加分组线

  6. 6

    如何在ggplot中的堆叠条形图中将误差线组织到相关条?

  7. 7

    使用ggplot将误差线添加到R中的聚簇条形图中

  8. 8

    如何将已计算的标准误差值添加到条形图(ggplot)中的每个条形?

  9. 9

    如何使用ggplot2为分组条形图绘制误差线?

  10. 10

    在ggplot2中设置堆叠条形图的条形顺序

  11. 11

    ggplot2中的堆叠条形图,带有2个系列的条形图(不同的列)

  12. 12

    在R ggplot中的堆叠条形图顶部添加总计数

  13. 13

    按顺序指示在ggplot2中堆叠条形图的y方向上的更改顺序

  14. 14

    在dplyr中按分组后在ggplot2条形图中添加误差线

  15. 15

    堆积条形图ggplot上的单个误差线

  16. 16

    如何在ggplot2中向有序条形图添加频率百分比

  17. 17

    为什么在r ggplot2中添加构面时,堆叠条形图会发生变化

  18. 18

    带有ggplot2的R中的条形图

  19. 19

    ggplot2:使用组均值堆叠条形图

  20. 20

    将线添加到ggplot2中的双条形图

  21. 21

    R ggplot2堆叠条形图通过列的值归一化

  22. 22

    ggplot2:3向交互堆积条形图的分组条形图

  23. 23

    在ggplot2中的堆叠条形图上方绘制线

  24. 24

    如何在R中的ggplot2中向条形图方面添加百分比?

  25. 25

    ggplot2 中带有误差条的分组条形图

  26. 26

    ggplot2 - 向条形图添加比例和计数值

  27. 27

    使用 ggplot2 的 5 维堆叠条形图

  28. 28

    用 R ggplot2 中的百分比从头开始分类变量的堆叠条形图

  29. 29

    ggplot2 堆叠和组合条形图

热门标签

归档