gpt4 book ai didi

R 脚本,ggplot2 和 qplot,同一张图上的多个时间序列线图

转载 作者:行者123 更新时间:2023-12-04 10:47:24 24 4
gpt4 key购买 nike

我想在同一个地 block 上有多条“线”。多个数据点。

在我的示例中,如何包含“xa”和“xb”数据点。

这是我仅有的一组数据点,但我想要两个。我该如何修改这个脚本。

library(ggplot2)

da <- c("2012-02-02 09:01:00", "2012-02-02 09:02:00", "2012-02-02 09:03:00")
db <- c(0.4, 0.6, 0.5)

xa <- c("2012-02-02 09:01:00", "2012-02-02 09:02:00", "2012-02-02 09:03:00")
xb <- c(0.3, 0.43, 0.7)

da2 <- as.POSIXct(da)
dfx <- data.frame(da2, db)

summary(dfx)

png('time_data_errs6b.png', width=640, height=480)
gg <- qplot(da2, db, colour='red')+
opts(title = 'Requests App')+xlab('Time')+ylab('Requests') +
geom_line()

print(gg)
dev.off()

最佳答案

我会制作两个 data.frames 并根据时间变量merge 它们。

> df.a<-data.frame(time=da, value.a=db)
> df.b<-data.frame(time=xa, value.b=xb)
> df.mix<-merge(df.a, df.b, by='time')

> df.mix
time value.a value.b
1 2012-02-02 09:01:00 0.4 0.30
2 2012-02-02 09:02:00 0.6 0.43
3 2012-02-02 09:03:00 0.5 0.70

像您所做的那样转换为 POSIXct,然后将其融化为长格式。

> df.mix$time<-as.POSIXct(df.mix$time)
> df.melt<-melt(df.mix, id.vars='time')

ggplot 可以很好地处理长格式数据,因此我的目标通常是在绘图之前使用 meltmerge 将数据放入合适的结构中。

> ggplot(df.melt, aes(x=time, y=value, colour=variable)) + geom_path()

为了提高可读性,我还喜欢使用基本的 ggplot 而不是 qplot。但这是一个偏好问题。

关于R 脚本,ggplot2 和 qplot,同一张图上的多个时间序列线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9131034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com