簡體   English   中英

如何使用lines()繪制線條而不事先調用R中的plot()

[英]How to draw lines with lines() without preceding call to plot() in R

鑒於這些數據:

> x <- c(1, 2)
> y1 <- c(4, 3)
> y2 <- c(3, 6)

我想在同一個繪圖框架上以不同的顏色繪制(x,y1)和(x,y2)的線條。 這具有預期的效果:

> plot (x, y1, type='l', col='red')
> lines (x, y2, col='green')

有沒有辦法使用lines的線條? 這只會創建一個空圖:

> plot.new ()
> lines (x, y1, col='red')
> lines (x, y2, col='green')

我想plot是在繪制第一行之前調用一些函數來使繪圖開始; 它似乎不是plot.new 那是什么功能? 我可以把它自己之前調用lines

編輯:我在Ubuntu 14.04上使用R 3.0.2。

 x <- c(1, 2)
 y1 <- c(4, 3)
 y2 <- c(3, 6)
 plot.new(); plot.window(xlim=c(1,2),ylim=c(1,6) )
 lines (x, y1, col='red')
 lines (x, y2, col='green')

在此輸入圖像描述

我收到了關於解釋我的代碼的喋喋不休的消息,但我確實認為羅伯特很聰明,可以解決這個問題。 通過?plot.window頁面上的鏈接,您可以看到其他低級函數,例如?xy.coords 您可以通過在控制台提示符下鍵入其名稱來查看plot.default的代碼。 在該代碼中,您看到定義了一個新函數,但它實際上只是在調用plot.window之前收集了一些參數:

localWindow <- function(..., col, bg, pch, cex, lty, lwd) plot.window(...)
# which gets called later in the code.

對於plot解決方案,您需要使用一些數據創建plot並使用n選項屏蔽這些數據(我還使用ann=F來掩蓋xy標簽):

plot(x, y1, type='n', ann=F, xlim=c(1,2),ylim=c(1,6))
lines (x, y2, col='green')
lines (x, y1, col='red')

在此輸入圖像描述

plot()命令中,使用type="n"無形地設置繪圖。 然后使用連續的lines()添加您的線段。

暫無
暫無

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

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