【发布时间】:2021-10-11 11:52:14
【问题描述】:
我有一个数据框,其中 Y 的降水量 (cm) 和 X 的天数。
> head(precip)
Day mean
1 1 1.784654
2 2 1.850796
3 3 1.850486
4 4 1.858424
5 5 1.884435
6 6 1.907781
直到 366 天(平均值包括闰年)。两列当前都是数字。这是我绘制它的代码:
precip_plots <- ggplot(data = precip, aes_string(x = "Day", y = "mean", group=1)) +
geom_line(size = 1)+
theme_bw()+
labs(title = "Daily precipitation",
x = "Day",
y = "Precipitation (cm)")
我希望日期在 X 轴上,但在下方(也在 X 轴上)我希望每个月的范围都有月份字母 (JFMAMJJASOND),例如
我已尝试将此添加到 ggplot:
scale_x_discrete(limits = 1:366, labels=Day[1:31] = "J", Day[32:60] = "F", Day[61:91] = "M",
Day[92:121] = "A", Day[122:152] = "M", Day[153:182] = "J", Day[183:213] = "J",
Day[214:244] = "A", Day[245:274] = "S", Day[275:305] = "O", Day[306:335] = "N",
Day[336:366] = "D")
但它只是返回一堆“错误:意外'='”和“错误:意外','”。
我在网上和 SO 上到处找,似乎找不到任何有类似问题的人。
【问题讨论】:
-
添加
coord_fixed(clip = 'off')允许您在绘图区域之外添加文本。然后,将文本放在正确的位置是一个反复试验的问题。 -
这个不错的答案可能会给你一些启发:Axis labels on two lines with nested x variables (year below months)