我在绘制图表的x轴上以离散(因子)级别绘制垂直线方面遇到了问题。在这个解决方案中,它似乎可以正常工作 使用ggplot2绘制具有因子级别的垂直线
但是,用
基本上,为了消除 geom_tile 中的空白间隔,我需要将数值 x 值转换为因子级别。但同时,我也想用数值绘制
这就是问题所在。
geom_tile
这个方法无法实现?基本上,为了消除 geom_tile 中的空白间隔,我需要将数值 x 值转换为因子级别。但同时,我也想用数值绘制
geom_vline
。这就是问题所在。
df <- data.frame(
x = rep(c(2, 5, 7, 9, 12), 2),
y = rep(c(1, 2), each = 5),
z = factor(rep(1:5, each = 2)))
library(ggplot2)
ggplot(df, aes(x, y)) +
geom_tile(aes(fill = z), colour = "grey50")+
geom_vline(aes(xintercept=6),linetype="dashed",colour="red",size=1)
要在geom_tile
中去除空白需要将x转换为factor(x)
,但是这样做会导致geom_vline
消失!
geom_tile
时却不行?正如@Len所提到的,没有x=6,但我认为应该有更简单的方法?我只是好奇。 - Alexander