首页 > 解决方案 > 基于值范围的ggplot2图形框(最小值最大值)

问题描述

我想使用 ggplot2 创建一个简单的条形图/箱形图,显示 3 次处理的值范围(最小值-最大值)。我有一个简单的 3x3 数据框,显示处理、最小值和最大值,如下所示:

Treatment A: (68-88)
Treatment B: (95-105)
Treatment C: (110-140)

我想做的只是沿 X 轴显示处理,并在 Y 轴上显示代表最小-最大范围的各种大小的框。在我的数据集中,治疗 A 最低,但比治疗 B(中级)略宽。治疗 B 的方框将是最窄的。处理 C 将具有最宽的框并且也将具有最高值。

这可以使用ggplot2完成吗?看起来很简单。提前致谢!

标签: rggplot2

解决方案


在评论中回答:

my_data <- data.frame(stringsAsFactors = FALSE, 
                      Treatment = c("A", "B", "C"), 
                      min = c(68,95,110), 
                      max = c(88,105,140))

library(ggplot2)
ggplot(my_data, aes(Treatment, (min+max)/2, height = max - min)) + 
  geom_tile()

推荐阅读