繁体   English   中英

基于 2 个变量的堆积柱形图,使用 R 和 ggplot2

[英]Stacked column chart based on 2 variables using R and ggplot2

我正在尝试使用 ggplot2 在 R 中创建堆积柱形图 这是我的数据:

    procedure          mh_avg_charge avg_duration bench_avg bench_sd   mh_z mh_perc
1 Colonoscopy with ~          4905           37     6253.    1508. -0.894   0.268
2 Colonoscopy with ~          5099           38     6778.    1561. -1.08    0.224
3 Upper Gastrointes~          3845           30     5356.    1572. -0.962   0.251
4 Upper Gastrointes~          5374           40     7159.    2035. -0.877   0.272

我希望 x 轴是procedure ,并且有mh_avg_chargebench_avg的堆叠列。

这是我尝试过的:

gi_pt_summary %>%
  ggplot(mapping = aes(x = procedure)) +
  geom_col(mapping = aes(y = mh_avg_charge),
           fill = "steelblue")+
  geom_col(mapping = aes(y = bench_avg),
           fill = "orangered3")

我希望重新创建我在 Excel 中单独制作的这个图表。 在此处输入图像描述

但是使用我的 R 代码,我得到了这个: 在此处输入图像描述

我找不到任何回答的文档或问题,这些文档或问题解决了基于对变量而不是count的观察来处理堆叠列的问题。

我非常感谢您能提供的任何帮助!

绘图前重塑,所以你可以 map fill到一个变量,即:

library(tidyr)
pivot_longer(gi_pt_summary, c('mh_avg_charge', 'bench_avg'), names_to = 'variable') %>% 
  ggplot(aes(procedure, value, fill = variable)) +
  geom_col(position = 'stack')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM