r - ggplot:使用最小值和最大值的分类值添加 geom_rect
问题描述
我有一个非常基本的ggplot:
library(ggplot)
ggplot(mpg, aes(x=displ, y=manufacturer)) +
geom_point() +
geom_rect(aes(xmin=1.8, xmax=3.0, ymin='audi', ymax='audi', fill='red'))
我想为 y 轴上的 audi 行添加一个从 x 轴值 1.8 到 3.0 的条。有没有办法在ggplot中实现这一点?其他人可以在这个问题上提供的任何帮助将不胜感激!
解决方案
可以办到。分类值转换为整数以进行绘图,因此您可以将它们指定为整数(audi
是第一个类别,所以整数是1
),或者,就像我在下面所做的那样,列出类别名称并按名称指定。
library(ggplot)
data("mpg")
man_list <- unique(mpg$manufacturer)
ggplot(mpg, aes(x=displ, y=manufacturer)) +
geom_point() +
# geom_rect(aes(xmin=1.8, xmax=3.0, ymin= "audi", ymax=lead("audi"), fill='red'))
geom_rect(aes(ymin = which(man_list=="audi")-0.5,
ymax = which(man_list=="audi")+0.5,
xmin=1.8,
xmax=3,
fill="red"))
推荐阅读
- python - Tableau /Python tabpy 预测模型错误
- firebase - 颤振不良状态:DocumentSnapshotPlatform中不存在字段
- python - 我应该测试集成测试中的每一个方法吗?
- c# - 单纯形噪声梯度
- react-native - 如何在 React Native 中自定义标题导航?
- pandas - 如何在 plotly imshow 热图的 hovertemplate 中使用来自第二个 df 的信息?
- reactjs - 如何在 React 中为自定义选择编写单元测试,而没有为选择或选项标签定义测试 ID
- asp.net - 如何在 .NET 6 中禁用 Razor 任务?
- python - 无法从 powershell7 外部运行此命令,默认 powershell 有效
- java - 构建 OpenJDK 15 时如何在 cygwin 上修复“配置:错误:C 编译器无法创建可执行文件”