如何在ggplot2中绘制组合的条形图和折线图

AST

我尝试将以下数据绘制为条形图和折线图(使用CI)

OR的特征,计数,赔率和置信区间值的数据框 OR的特征,计数,赔率和置信区间值的数据框

我正在尝试获得一个图形作为重叠的A条形图和带有CI条数比的折线图

带重叠的计数的条形图和带有CI条的赔率的折线图

我尝试使用以下代码在ggplot2中进行绘制:

ggplot(feat)+
  geom_bar(aes(x=Feat, y=Count),stat="identity", fill = "steelblue") +
  geom_line(aes(x=Feat, y=OR*max(feat$Count)),stat="identity", group = 1) +
  geom_point(aes(x=Feat, y=OR*max(feat$Count))) +
  geom_errorbar(aes(x=Feat, ymin=CI1, ymax=CI2), width=.1, colour="orange", 
                position = position_dodge(0.05))

但是,我没有获得折线图的CI条,如图所示:相反,我正在获得它们的条形图 相反,我正在为他们提供油品图

有人可以帮我解决这个问题。

谢谢

编辑-Dput:

df <- structure(list(Feat = structure(1:8, .Label = c("A", "B", "C", 
"D", "E", "F", "G", "H"), class = "factor"), Count = structure(c(2L, 
8L, 7L, 5L, 4L, 1L, 6L, 3L), .Label = c("13", "145", "2", "25", 
"26", "3", "37", "43"), class = "factor"), OR = structure(c(4L, 
2L, 1L, 5L, 3L, 7L, 6L, 8L), .Label = c("0.38", "1.24", "1.33", 
"1.51", "1.91", "2.08", "2.27", "3.58"), class = "factor"), CI1 = structure(c(7L, 
4L, 1L, 6L, 3L, 5L, 2L, 2L), .Label = c("0.26", "0.43", "0.85", 
"0.89", "1.2", "1.24", "1.25"), class = "factor"), CI2 = structure(c(3L, 
2L, 1L, 6L, 4L, 7L, 8L, 5L), .Label = c("0.53", "1.7", "1.82", 
"1.98", "13.07", "2.83", "3.92", "6.13"), class = "factor")), class = "data.frame", row.names = c(NA, 
-8L))
伊恩·坎贝尔

这就是您的想法吗?

ratio <- max(feat$Count)/max(feat$CI2)
ggplot(feat) +
  geom_bar(aes(x=Feat, y=Count),stat="identity", fill = "steelblue") +
  geom_line(aes(x=Feat, y=OR*ratio),stat="identity", group = 1) +
  geom_point(aes(x=Feat, y=OR*ratio)) +
  geom_errorbar(aes(x=Feat, ymin=CI1*ratio, ymax=CI2*ratio), width=.1, colour="orange", 
                position = position_dodge(0.05)) +
    scale_y_continuous("Count", sec.axis = sec_axis(~ . / ratio, name = "Odds Ratio"))

在此处输入图片说明

编辑:只是为了与传奇的乐趣。

ggplot(feat) +
  geom_bar(aes(x=Feat, y=Count, fill = "Count"),stat="identity") + scale_fill_manual(values="steelblue") +
  geom_line(aes(x=Feat, y=OR*ratio, color = "Odds Ratio"),stat="identity", group = 1) + scale_color_manual(values="orange") +
  geom_point(aes(x=Feat, y=OR*ratio)) +
  geom_errorbar(aes(x=Feat, ymin=CI1*ratio, ymax=CI2*ratio), width=.1, colour="orange", 
                position = position_dodge(0.05)) +
  scale_y_continuous("Count", sec.axis = sec_axis(~ . / ratio, name = "Odds Ratio")) +  
  theme(legend.key=element_blank(), legend.title=element_blank(), legend.box="horizontal",legend.position = "bottom")

在此处输入图片说明

由于您询问要在注释中添加p值以进行比较,因此可以采用这种方法。不幸的是,由于您真的不想添加所有比较,因此需要进行一些硬编码。

library(ggplot2)
library(ggsignif)
ggplot(feat,aes(x=Feat, y=Count)) +
  geom_bar(aes(fill = "Count"),stat="identity") + scale_fill_manual(values="steelblue") +
  geom_line(aes(x=Feat, y=OR*ratio, color = "Odds Ratio"),stat="identity", group = 1) + scale_color_manual(values="orange") +
  geom_point(aes(x=Feat, y=OR*ratio)) +
  geom_errorbar(aes(x=Feat, ymin=CI1*ratio, ymax=CI2*ratio), width=.1, colour="orange", 
                position = position_dodge(0.05)) +
  scale_y_continuous("Count", sec.axis = sec_axis(~ . / ratio, name = "Odds Ratio")) +  
  theme(legend.key=element_blank(), legend.title=element_blank(), legend.box="horizontal",legend.position = "bottom") + 
  geom_signif(comparisons = list(c("A","H"),c("B","F"),c("D","E")),
              y_position = c(150,60,40),
              annotation = c("***","***","n.s."))

在此处输入图片说明

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flotchart问题连接条形图和折线图

来自分类Dev

如何在双Y轴图中的ggvis中对齐条形图和折线图?

来自分类Dev

折线图和条形图在时间轴中显示的无效日期

来自分类Dev

如何在ggplot2中使用重复的x轴标签绘制折线图

来自分类Dev

散景,条形图和折线图的组合

来自分类Dev

pandas DataFrame如何混合不同比例的条形图和折线图

来自分类Dev

D3.js组合条形图和折线图

来自分类Dev

如何在ZingChart中的折线图和条形图之间对齐垂直参考线?

来自分类Dev

ggplot2条形图和折线图的叠加

来自分类Dev

如何在ggplot2中的条形图上叠加折线图

来自分类Dev

同一图上的条形图/折线图,但在条形图前的轴和折线图不同

来自分类Dev

在JavaScript中组合条形图和折线图

来自分类Dev

如何使用R组合特定变量的折线图和条形图

来自分类Dev

使用pandas和matplotlib绘制叠加图(折线图和条形图)

来自分类Dev

如何对齐条形图和两个折线图?

来自分类Dev

情节:如何将条形图和折线图与条形图组合为子图?

来自分类Dev

组合条形图和折线图(python)时出现问题

来自分类Dev

如何在条形图和折线图的同一图上绘制多个列表?

来自分类Dev

将组合的条形图与截断的折线图组合

来自分类Dev

如何绘制混合的条形图和折线图并获取x轴作为年份

来自分类Dev

如何绘制混合的条形图和折线图并获取x轴作为年份

来自分类Dev

在ggplot2中绘制折线图

来自分类Dev

如何使用ggplot在一个图表中创建条形图和折线图

来自分类Dev

如何在双Y轴图中的ggvis中对齐条形图和折线图?

来自分类Dev

Highcharts获得组合的条形图和折线图

来自分类Dev

Python:使用 DataFrame 绘制折线图和条形图时 DatetimeIndex 的不同行为

来自分类Dev

Flot:在一张图表中组合堆积的条形图和折线图

来自分类Dev

组合图表(条形图和折线图)+ xAxis.setValueFormatter

来自分类Dev

如何使用 ObservableLists 在 Javafx 中创建条形图或折线图

Related 相关文章

  1. 1

    Flotchart问题连接条形图和折线图

  2. 2

    如何在双Y轴图中的ggvis中对齐条形图和折线图?

  3. 3

    折线图和条形图在时间轴中显示的无效日期

  4. 4

    如何在ggplot2中使用重复的x轴标签绘制折线图

  5. 5

    散景,条形图和折线图的组合

  6. 6

    pandas DataFrame如何混合不同比例的条形图和折线图

  7. 7

    D3.js组合条形图和折线图

  8. 8

    如何在ZingChart中的折线图和条形图之间对齐垂直参考线?

  9. 9

    ggplot2条形图和折线图的叠加

  10. 10

    如何在ggplot2中的条形图上叠加折线图

  11. 11

    同一图上的条形图/折线图,但在条形图前的轴和折线图不同

  12. 12

    在JavaScript中组合条形图和折线图

  13. 13

    如何使用R组合特定变量的折线图和条形图

  14. 14

    使用pandas和matplotlib绘制叠加图(折线图和条形图)

  15. 15

    如何对齐条形图和两个折线图?

  16. 16

    情节:如何将条形图和折线图与条形图组合为子图?

  17. 17

    组合条形图和折线图(python)时出现问题

  18. 18

    如何在条形图和折线图的同一图上绘制多个列表?

  19. 19

    将组合的条形图与截断的折线图组合

  20. 20

    如何绘制混合的条形图和折线图并获取x轴作为年份

  21. 21

    如何绘制混合的条形图和折线图并获取x轴作为年份

  22. 22

    在ggplot2中绘制折线图

  23. 23

    如何使用ggplot在一个图表中创建条形图和折线图

  24. 24

    如何在双Y轴图中的ggvis中对齐条形图和折线图?

  25. 25

    Highcharts获得组合的条形图和折线图

  26. 26

    Python:使用 DataFrame 绘制折线图和条形图时 DatetimeIndex 的不同行为

  27. 27

    Flot:在一张图表中组合堆积的条形图和折线图

  28. 28

    组合图表(条形图和折线图)+ xAxis.setValueFormatter

  29. 29

    如何使用 ObservableLists 在 Javafx 中创建条形图或折线图

热门标签

归档