簡體   English   中英

如何在 ggplot2 中在 x 軸上繪制兩個向量,在 y 軸上繪制另一個向量

[英]How do you plot two vectors on x-axis and another on y-axis in ggplot2

我試圖在同一個圖形上繪制兩個具有不同值但長度相等的向量,如下所示:

a<-23.33:52.33
b<-33.33:62.33
days<-1:30

df<-data.frame(x,y,days) 

      a   b    days
 1    23.33 33.33    1
 2    24.33 34.33    2
 3    25.33 35.33    3
 4    26.33 36.33    4
 5    27.33 37.33    5
 etc..

我正在嘗試使用 ggplot2 在 x 軸上繪制 x 和 y 以及在 y 軸上繪制天數。 但是,我不知道該怎么做。 我可以單獨繪制它們並組合圖形,但我只需要一個圖形,x 軸上有 a 和 b 向量(不同顏色),y 軸上有天數。

到目前為止我所擁有的:

X<-ggplot(df, aes(x=a,y=days)) + geom_line(color="red")
Y<-ggplot(df, aes(x=b,y=days)) + geom_line(color="blue")

有沒有辦法為 a 和 b 向量定義 x 軸? 我也試過使用melt long函數,但后來卡住了。

任何幫助深表感謝。 謝謝

我認為最好的方法是通過融合數據的方法(正如你所提到的)。 特別是如果您要添加更多向量。 這是代碼

library(reshape2)
library(ggplot2)

a<-23:52
b<-33:62
days<-1:30

df<-data.frame(x=a,y=b,days)
df_molten=melt(df,id.vars="days")

ggplot(df_molten) + geom_line(aes(x=value,y=days,color=variable))

您還可以通過scale_color_manual手動更改顏色。

一個更簡單的解決方案是只使用 ggplot。 以下代碼適用於您的情況

a<-23.33:52.33
b<-33.33:62.33
days<-1:30

df<-data.frame(a,b,days) 

ggplot(data = df)+
geom_line(aes(x = df$days,y = df$a), color = "blue")+
geom_line(aes(x = df$days,y = df$b), color = "red")

我添加了顏色,您可能希望使用它們來區分變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM