簡體   English   中英

在R中的圖形上添加一條線

[英]Adding a line on a graph in r

根據以下數據,我想作圖

m <- 10000
x <- runif(m,-1,1)
a0 <- 0; a1 <- -4.46; a2 <- 1.6; a3 <- -4.63

下面定義的兩個變量p1.at.xp0.at.x針對x

p0.at.x <- numeric(0) 
p1.at.x <- numeric(0)               
for(i in 1:m) {
  p0.at.x[i] <- a0 +(a1*x[i]) + (a2*((1.5*(x[i]**2))-0.5)) + (a3*((2.5*(x[i]**3))-(1.5*x[i])))
  p1.at.x[i] <- 16 -(40.4*x[i]) + (31*((1.5*(x[i]** 2))-0.5 ))-(18.3*((2.5*(x[i]**3))-(1.5*x[i])))
}

我嘗試了以下方法:

plot(x, p1.at.x, col="red")        
lines(x, p0.at.x, col="blue")

但我在圖p0.at.x不到p0.at.x的線。 當我分別繪制它們時,它們具有相似的形狀,只是范圍不同。 可能有人建議我出了什么問題?

您需要設置正確的ylim:

plot(x, p1.at.x, col="red",ylab='p',ylim=range(p0.at.x,p1.at.x))   
par(new=TRUE)  
plot(x, p0.at.x, col="blue",ylab='p', ylim=range(p0.at.x,p1.at.x))

如果它們的范圍不同,則您看不到第二個,因為它不在第一個圖的窗口中,因此在打開圖時必須考慮它的存在。

或者:

plot(x, p1.at.x, col="red",ylab='p',ylim=range(p0.at.x,p1.at.x))    
points(x, p0.at.x, col="blue",ylab='p', ylim=range(p0.at.x,p1.at.x))

暫無
暫無

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

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