簡體   English   中英

使用繪圖功能在R中繪圖

[英]Plotting in R using plot function

我正在嘗試使用循環繪制一些圖形。 我現在在詳細描述。

首先,我有一個計算y變量的函數(稱為垂直軸effect

effect<- function (x, y){
  exp(-0.35*log(x)
      +0.17*log(y)
      -0.36*sqrt(log(x)*log(y)/100))
}

現在,我運行以下代碼,並使用選項par在同一張圖中繪制線條。 我使用axis=FALSExlab=""獲得沒有標簽的圖。 我這樣做是為了在每次循環運行時都不會重寫我的標簽,並且看起來很難看。

for (levels in seq(exp(8), exp(10), length.out = 5)){
  x = seq(exp(1),exp(10), length.out = 20)
  prc= effect(levels,x)
  plot(x, prc,xlim = c(0,max(x)*1.05), ylim=c(0.0,0.3),
       type="o", xlab = "",ylab = "",  pch = 16, 
       col = "dark blue", lwd = 2, cex = 1, axes = F)
  label = as.integer(levels) #x variable
  text(max(x)*1.03,max(prc), label )
  par(new=TRUE)
}

最后,這次我使用xlabylab選項復制plot命令

plot(x, prc, xlab = "X-label", ylab = "effect", 
     xlim = c(0,max(x)*1.05), ylim = c(0,0.3), 
     type="l", col ='blue')

我還使用復雜的方程式在其他幾條圖中繪制了相似的線條。 我有兩個問題:

  1. 有沒有更好的選擇,可以使線條更平滑而具有相同的圖?
  2. 有沒有幾行能達到相同目的的更簡單的選擇,我可以在右邊將每行的文本(級別)放在白色背景的背面?

以上程序的輸出

我相信使用繪圖功能非常繁瑣且耗時。 因此,我終於使用ggplot2進行了繪制。 我已經使用了一些在線幫助。

暫無
暫無

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

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