R - 使用ggplot2的时间序列数据

时间:2014-10-10 14:36:29

标签: r graph ggplot2 axes

我有一个时间序列数据集,其中x轴是反向时间顺序的事件列表,这样观察的x值看起来像" n-1"或" n-2"一直到1。

我想使用ggplot创建一个线图,创建一条连接所有点的平滑连续线,但是当我尝试输入我的数据时,x轴非常不稳定。 / p>

我目前使用的代码是

library(ggplot2)

theoretical = data.frame(PA = c("n-1", "n-2", "n-3"),
                         predictive_value = c(100, 99, 98));

p = ggplot(data=theoretical, aes(x=PA, y=predictive_value)) + geom_line();
p = p + scale_x_discrete(labels=paste("n-", 1:3, sep=""));

通常使用ggplot显示的拟合线和网格分区将被替换为没有线和太多分区。

1 个答案:

答案 0 :(得分:0)

当您在geom_line()上使用至少一个轴上的因子时,您需要指定group美学,在这种情况下为常量。

p = ggplot(data=theoretical, aes(x=PA, y=predictive_value, group = 1)) + geom_line()
p = p + scale_x_discrete(labels=paste("n-", 1:3, sep=""))
p

如果你想摆脱次要网格线,你可以添加

theme(panel.grid.minor = element_blank())

到您的图表。

请注意,在这样的一个轴上使用因子,在规模方面可能有点风险。使用典型的连续刻度可能会更好,只需将点1,2和3重新标记为" n-1"," n-2"和"的n-3"