簡體   English   中英

在R中的同一圖中繪制2條曲線

[英]Plotting 2 curves in the same graph in R

使用R,我需要在同一張圖中繪制2條曲線。 因此,我必須繪制x1與y1和x2與y2的關系圖。 這里的“ x1”是隨機的,但是已知的數字在0到12的范圍內; “ x2”是隨機的,但已知數字在0到9的范圍內; 以及類似的y1和y2的其他一些已知范圍。

我使用以下代碼:

d<-read.csv("ni1.csv")       # Reading in the data
x1<-d[,1]
y1<-d[,2]

d2<-read.csv("ni2.csv")
x2<-d2[,1]
y2<-d2[,2]

plot(x1,y1,pch="*", col='blue',xlim=c(0, 12), ylim=c(0,1300),main='Load Vs. Extension   Curves',xlab='Extension', ylab='Load')
par(new=TRUE)
plot(x2, y2, pch="*", col= 'red',xlim=c(0, 9), ylim=c(0,1400), axes= FALSE, xlab='', ylab='' )

現在的問題是,盡管我獲得了x1與y1的正確曲線,但x2與y2的曲線在不適當的范圍內。 也就是說,x2與y2的x范圍超出了我要繪制的值。

有人可以幫助解決這個問題嗎? 非常感謝您的支持...

問候。

考慮使用points代替。 plot(x2, y2, ...)替換為:

points(x2, y2, pch="*", col= 'red')

另一種方法是簡單地使用par(new=TRUE)將兩個不同的圖彼此疊加。

vv <- ts(c(3875, 4846, 5128, 5773, 7327,
                6688, 5582, 3473, 3186,
                 rep(NA, 51))
plot(drunkenness, lwd=3, col="grey", ann=FALSE, las=2)
par(new=TRUE)
plot(nhtemp, ann=FALSE, axes=FALSE,col='blue')

在此處輸入圖片說明

您可以使用ggplot2軟件包,但這需要您將數據重新排序為一個數據幀,並有一個額外的列指定類別。

library(ggplot2)
d <- read.csv('ni1.csv',header=T)
d2 <- read.cv('ni2.csv',header=T)
#assuming header names are ´x´ and ´y´ 
df <- rbind(d,d2)
df$labels[(length(d[,1])+1):length(df[,1])] <- 'ni2'
df$labels[1:length(d[,1])] <- 'ni1'
qplot(x,y,data=df,geom='line') + facet_wrap(~labels)

暫無
暫無

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

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