gpt4 book ai didi

r - 在 R 中用不同的 x 轴绘制 2 条线

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

我有 2 个数据框 x 和 y 必须合并。

然后我想绘制 2 行:

第 1 行 = 来自 x 数据框的“vol”第 2 行 = 来自 y 数据框的“vol”

两条线都应该在 x 轴上有“strike”。

我遇到了错误。我认为这是因为 x 轴不一样。

你能帮忙吗?

我真的很想使用 ggplot。

这是您可以运行的我的代码:

x<- data.frame(strike= c(1,2,2.5,7), term= c("H15"), Vol = c(6,7,8,9), file="a")
x
y<- data.frame(strike= c(1,2,2.75,7), term=c("H15"), Vol = c(7,9,10,12),file="b")
y
main<- merge(x,y, by = "strike", all= TRUE)
main

strikes<- factor(main$strike,levels=c(main$strike),ordered=TRUE)
strikes

stacked <- data.frame(time=strikes, value =c(c(x$Vol), c(y$Vol)) , variable = rep(c("a","b"), each=NROW(x[,1])))
stacked

MyPlot<- ggplot(stacked, aes( x = time, y=value, colour=variable, group= variable) ) + geom_line()
MyPlot

最佳答案

您可以使用 reshape2gpplot2 来实现:

首先让我们融化您的数据:

library(reshape2)
x.melt<-melt(x[,c("strike", "Vol")], id="strike")
y.melt<-melt(y[,c("strike", "Vol")], id="strike")
x.melt[, "variable"] <-"Vol.x"
y.melt[, "variable"] <-"Vol.y"
data <- rbind(x.melt, y.melt)

有了这个我们有:

  strike variable value
1 1.00 Vol.x 6
2 2.00 Vol.x 7
3 2.50 Vol.x 8
4 7.00 Vol.x 9
5 1.00 Vol.y 7
6 2.00 Vol.y 9
7 2.75 Vol.y 10
8 7.00 Vol.y 12

不,我们可以将其与 gpplot2 一起使用:

library(ggplot2)
ggplot(data, aes(x=strike, y=value, colour=variable)) + geom_point()+ geom_line()

结果:

enter image description here

关于r - 在 R 中用不同的 x 轴绘制 2 条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23371516/

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