【发布时间】:2020-07-20 20:44:11
【问题描述】:
我正在尝试在 ggplot2 中绘制图表,其中 x 轴代表月-日组合,点代表两个不同组的 y 值。
使用此代码绘制我的原始数据集时,
ggplot(graphing.df, aes(MONTHDAY, y.var, color = GROUP)) +
geom_point() +
ylab(paste0(""))+
scale_x_discrete(breaks = function(x) x[seq(1, length(x), by = 15)])+
theme(legend.text = element_blank(),
legend.title = element_blank()) +
geom_vline(xintercept = which(graphing.df$MONTHDAY == "12-27")[1], col='red', lwd=2)
我得到了这张图中没有显示垂直线的地方。
当我尝试使用以下代码创建可重现的示例时...
df <- data.frame(MONTHDAY = c("01-01", "01-01", "01-02", "01-02", "01-03", "01-03"),
TYPE = rep(c("A", "B"), 3),
VALUE = sample(1:10, 6, replace = TRUE))
verticle_line <- "01-02"
ggplot(df, aes(MONTHDAY, VALUE, color = TYPE)) +
geom_point() +
#geom_vline(xintercept = which(df$MONTHDAY == verticle_line)[1], col='red', lwd=2)+
geom_vline(xintercept = which(df$MONTHDAY == verticle_line), col='blue', lwd=2)
竖线显示,但现在显示在错误的位置
在我的原始数据集中,每个月-日组合有两个值(代表两组中的每一个)。月日组合列是字符向量,不是因子,也没有层次。
【问题讨论】:
-
查看
which(df$MONTHDAY == verticle_line)返回的内容。垂直线绘制在那里... -
我收到以下错误
Error in UseMethod("rescale") : no applicable method for 'rescale' applied to an object of class "factor"