我需要在x轴上消除1950年之前的差距。
我尝试使用scale_x_continuous
,但结果是:
Error: Discrete value supplied to continuous scale
我认为这必须与数据的日期格式有关。
示例数据:
x y date
1 -631152000 -1.018 1950-01-01 01:32:40
2 -628473600 -1.143 1950-02-01 01:32:40
3 -626054400 -1.290 1950-03-01 01:32:40
4 -623376000 -1.061 1950-04-01 01:32:40
5 -620784000 -1.416 1950-05-01 01:32:40
6 -618105600 -1.372 1950-06-01 01:32:40
7 -615513600 -1.334 1950-07-01 01:32:40
8 -612835200 -1.050 1950-08-01 01:32:40
9 -610156800 -0.578 1950-09-01 01:32:40
10 -607564800 -0.395 1950-10-01 01:32:40
用于创建情节的代码:
Plot <- ggplot(d2,aes(x = date,
y = y)) +
geom_area(data=subset(d2, y<=0), fill="blue") +
geom_area(data=subset(d2, y>=0), fill="red") +
scale_y_continuous(name = "MEI")+
xlab("Year")+
theme(axis.text.y = element_text(size=24),
axis.text.x = element_text(size=24),
axis.title.y = element_text(size=24),
axis.title.x = element_text(size=24),
panel.background = element_blank(),
panel.grid.major = element_line(colour = "grey"),
strip.background = element_blank(),
panel.border = element_rect(colour = "black", fill = NA),
axis.line = element_line(colour = "black"))
任何帮助将不胜感激!!!
答案 0 :(得分:2)
您可以使用expand
的{{1}}参数来删除轴与数据起点之间的空格。 (你也可以在scale_y(x)_continuous,以及其他......)中使用它。
scale_x_datetime