说我有这样的数据:
pred = rnorm(100, 0.1*(1:100), 1)
interval_lower = pred - 1
interval_upper = pred + 1
sample_data <- data.frame(
actual = rnorm(100, 0.1*(1:100), 2),
pred = pred,
interval_lower = interval_lower,
interval_upper = interval_upper)
如何在预测和实际数据上生成预测区间的绘图,预测的颜色为红色?
甚至无法为情节添加点数:
ggplot(data = sample_data) + geom_point(aes(x = 1:100, y = actual)) +
+ geom_point(data = pred, colour = "red")
答案 0 :(得分:0)
我不是100%肯定你在问什么,但试试这个:
ggplot(data = sample_data, aes(x=1:100)) +
geom_point(aes(y = actual)) +
geom_errorbar(aes(ymin = interval_lower, ymax = interval_upper), colour = "red") +
geom_point(aes(y=pred), colour='red')
在您的代码中,第二次调用geom_point()
没有任何意义,因为您告诉它源数据帧是pred
,而不是数据帧。它实际上只是图表主数据框中的一个字段sample_data
,您已经定义并告诉ggplot
。
将aes(x=1:100)
部分移至ggplot()
来电内部,而不是将其放入所有geom_point()
和geom_errorbar()
来电中,这样可以节省输入内容。