如何解决如何在同一R散点图中绘制多个序列?
| 我经常使用Excel中的散点图来可视化一个时间序列与另一个时间序列,但是由于最近的数据更容易理解,因此我在最近的时间段使用了不同的亮点: 在这种情况下,月,周和今天的图只是同一时间序列的不同(较新)片段,因此,此图表中基本上有四个叠加的图。如何在R中做同样的事情?我到目前为止: 但我想复制我在excel中的功能。如何在R中的同一图表上添加新图? 也许我什至可以走得更远,并使用R图中的col属性使颜色持续增加直到今天的值,从而避免这些谨慎的步骤?我该怎么做?解决方法
这是一个简单的示例,说明如何使用
ggplot
进行操作:
library(ggplot2)
day <- 1:100
dat <- data.frame(
day=day,x = day+(1+rnorm(100,10)),y = 5 + day+(1+rnorm(100,when = cut(day,5)
)
ggplot(dat,aes(x=x,y=y,colour=when)) + geom_point()
对于平滑的颜色:
ggplot(dat,colour=day)) + geom_point() +
scale_colour_gradient(low=\"pink\",high=\"red\")
,您可以使用较低级别的绘图功能points()
将点添加到已经存在的绘图中。它的工作原理与您通过plot()
创建散点图的方式完全相同,只是它会向当前使用的点添加点。
例如:
plot(1:10)
points(10:1,col=\"red\")
编辑:
上色的一种方法是按照Chi的建议使用rgb()
。我喜欢创建一个虚拟变量,其值在0到1之间,并将其用作颜色上的标量。例如:
x <- rnorm(100)
y <- 0.5*x + rnorm(100)
z <- 0.5*y + rnorm(100)
dum <- (z - min(z)) / (max(z) - min(z))
plot(x,y,col=rgb(1-dum*0.4,1-dum*0.8,1-dum*0.8),pch=16)
这会使点变红,因为它们的z
值更高。当然,您可以将min(z)
和max(z)
更改为您感兴趣的刻度范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。