【发布时间】:2018-04-10 04:29:46
【问题描述】:
我正在使用 R 绘制值,并尝试用我自己的替换 x 轴标签,如下所示:
plot(date, value, xaxt="n", xlab="Year", ylab="value")
axis(1, at=seq(min(year), max(year), by=10))
其中 min(year) = 1969 和 max(year) = 2016。
绘图本身看起来不错,但 x 轴刻度标签不是:
如您所见,x 轴刻度全部聚集在一起,而不是均匀分布在 x 轴上并且只显示其中一年。
我错过了什么?
谢谢!!
我的源数据如下所示:
site year date value
1 MLO 1969 1969-08-20 323.95
2 MLO 1969 1969-08-27 324.58
3 MLO 1969 1969-09-02 321.61
4 MLO 1969 1969-09-12 321.15
5 MLO 1969 1969-09-24 321.15
6 MLO 1969 1969-10-03 320.54
值是:
date <- data[["date"]]
value <- data[["value"]]
year <- data[["year"]]
【问题讨论】:
-
什么是
min(date)和max(date)?他们的班级是什么? -
> min(year) [1] 1969 > max(year) [1] 2016 > class(min(year)) [1] "integer"
-
日期:是字符串“1969-08-20”等的数据框,日期类为“因子”
-
基本上我试图在 x 轴上获得有意义的刻度标签;如果我只是将它留给 plot(),则不会发生任何好事,因为它们是字符串,而且它们太多了。另一种选择可能是尝试将“日期”帧值转换为实际的 R 日期,看看它是否做得更聪明......
-
可以加
head(data),让我们看看你的dataframe是什么样子的。