我知道我可以使用plot命令中的type =「o」參數創建一個帶有線和點的繪圖。我想要對此有更多的控制 - 我希望能夠將「o」繪製爲完整點,具有我選擇的黑色邊框和填充顏色,自定義尺寸和與線條不同的顏色。線條相同,我想讓它變得更厚,並且選擇顏色。我將如何繼續這樣做?如何在R中創建一個具有自定義點的繪圖?
我發現到現在爲止只是一個簡單的
plot(y, type= "o")
這是我的需求太可憐了。
我對使用ggplot不感興趣,而是使用R的內部圖庫。 任何幫助表示讚賞。
我知道我可以使用plot命令中的type =「o」參數創建一個帶有線和點的繪圖。我想要對此有更多的控制 - 我希望能夠將「o」繪製爲完整點,具有我選擇的黑色邊框和填充顏色,自定義尺寸和與線條不同的顏色。線條相同,我想讓它變得更厚,並且選擇顏色。我將如何繼續這樣做?如何在R中創建一個具有自定義點的繪圖?
我發現到現在爲止只是一個簡單的
plot(y, type= "o")
這是我的需求太可憐了。
我對使用ggplot不感興趣,而是使用R的內部圖庫。 任何幫助表示讚賞。
你可以使用分層(我沒有在任何基礎工作更過分的社會研究者我愛ggplot的facet_grid,所以有可能是一個更好的方法),如:
x <- sort(rnorm(25))
y <- sort(rnorm(25))
z <- as.factor(sample(LETTERS[1:5], 25, r=TRUE))
plot(x, y, pch = 19, cex = 1.3)
par(new = TRUE)
plot(x, y, pch = 19, cex = 1, col = z)
哪給你:
我建議在第二個繪圖之前添加opar < - par(new = TRUE)打電話給'情節',並在(後來防止未來的驚喜)之後參與(opar)。或通過調用'points'(使用相同的參數)將第二個調用替換爲'plot'。 – 2012-03-31 18:48:39
分層不需要用彩色填充來獲得點。 'bg'和'pch = 21'將會成功。 – jbaums 2012-04-01 05:28:04
所有你需要的信息應該存在於?plot
和?points
,正如@BenBolker所建議的。特別是,您希望使用pch=21
,並使用bg
參數指定背景色,使用cex
指定大小,並使用lwd
指定線寬。
如果您希望該線條與點邊框的厚度不同,則需要首先繪製線條,然後重疊這些點。
例如:
y <- sample(10)
plot(y, lwd=6, type='l')
points(y, bg='tomato2', pch=21, cex=3, lwd=3) # tomato2 is a personal fave
你也可以提供lwd
,cex
和col
給點矢量撥打:
plot(y, lwd=6, type='l')
points(y, bg=rainbow(10), pch=21, cex=seq(1, by=0.2, length.out=10),
lwd=seq(2, by=1, length.out=10))
ŧ仔細看看'?points',包括運行示例('example(「points」)')... – 2012-03-31 17:26:28
謝謝。我會看看?點,但這些例子似乎並沒有提供我需要的東西。他們確實有一個堅實的圈子,但沒有邊界。 – kloop 2012-03-31 17:29:58
仔細觀察,在第二個繪圖(淺藍色背景,深藍色邊緣),第三個繪圖(點類型21-25;黃色背景,紅色邊緣) – 2012-03-31 18:02:29