【发布时间】:2020-12-09 10:15:23
【问题描述】:
使用 ggplot2,我想创建一个绘图,其中一个变量作为我的 y 轴,但另一个变量作为 y 轴标签
获取这个样本数据:
df <- data_frame(
YearMonth = c("2018-01", "2018-01", "2018-02", "2018-02", "2018-03", "2018-03", "2018-04", "2018-04", "2018-05", "2018-05", "2018-06", "2018-06", "2019-01", "2019-01", "2019-02", "2019-02", "2019-03", "2019-03", "2019-04", "2019-04", "2019-05", "2019-05", "2019-06", "2019-06"),
Year = c("2018", "2018", "2018", "2018", "2018", "2018", "2018", "2018", "2018", "2018", "2018", "2018", "2019", "2019", "2019", "2019", "2019", "2019", "2019", "2019", "2019", "2019", "2019", "2019"),
Day = c("1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2","1","2"),
Total = c(11, 43, 12, 81, 90, 74, 8, 3, 7, 14, 50, 99, 67, 45, 31, 23, 46, 53, 4, 90, 34, 46, 98, 2),
)
我可以创建一个平铺图,将“年-月”作为我的 y 轴,“日”作为我的 x 轴,以及“总计”作为我的“填充”值
library(ggplot2)
df %>%
ggplot(aes(x = Day,
y = YearMonth)) +
geom_tile(aes(fill = Total),
colour = "white",
size = 0.2,
na.rm = FALSE) +
coord_equal(ratio = 1) +
scale_fill_gradient2(low = "#F1EDDE",
high = "#C72B26",
midpoint = 10)
产生以下内容:
但是,我不想将“年月”作为我的 y 轴标签。我想使用“Year”——它只会在左侧垂直轴上产生两个标签(2018 和 2019)
我咨询过similar topics,但没有成功。我尝试使用注释,在 scale_y_discrete 中指定“年份”和辅助轴,但未能达到预期的结果。我将不胜感激有关如何实现这一目标的任何说明
【问题讨论】:
-
您只想要 4 个图块,还是想要原样并只更改 y 刻度标签?
标签: r ggplot2 tidyverse multiple-columns yaxis