2011-11-29 33 views
7

是否可以註釋lattice(或ggplot2)數字與polygon()(或使用類似函數創建的元素)與graphics庫創建的元素?可以使用多邊形()或格和ggplot2圖中的等價物嗎?

我對這兩個圖書館都不太熟悉,除了在網上發佈並印在Deepayan Sarkar的書中的簡單圖表的例子。因此,儘管我已經使用graphics函數庫編寫了我在R中所做的工作,但請指出我對latticeggplot2的相關等效函數和用法示例有所瞭解。謝謝。

+1

'?panel.polygon'和'geom_polygon'分別?的ggplot2版本的第一示例的(誠然有在沒有例子格子文檔,但這個想法與基本圖形多邊形相同) – baptiste

+0

偉大的問題。我注意到多年來格子方法並不爲人所知。標籤上的工作也很強大。 –

+0

http://stackoverflow.com/q/3610291/269476可能感興趣 – James

回答

8

有一系列方法可以將圖形對象添加到格子圖中。在latticeExtra包中有layer和「+」方法。在pkg:晶格本身中,可以使用trellis.focus(...)添加到現有的圖中,然後再加上面板調用,例如panel.polygon()。我在過去使用這些標註來註釋contourplot()。

如果你的幫助(contourplot)的例子,然後按照由:

trellis.focus("panel", 1, 1) 
do.call("panel.polygon", list(x =c(5,15,15,5,5), y=c(60,60,90,90,60))) 
trellis.unfocus() 

...你應該看到頂點℃的矩形(5,60),C(15,60) ,c(15,90),c(5,90)已被放置在圖的第1面板中。注意這個編號在左下方作爲(1,1)。我通常沒有使用面向對象來從do.call()返回一個vlaue,但我懷疑它會成功。

enter image description here

11

這裏是?polygon()

x <- c(1:9,8:1) 
y <- c(1,2*(5:3),2,-1,17,9,8,2:9) 

ggplot(NULL, aes(1:10, 1:10)) + geom_point() + 
    geom_polygon(aes(x, y), fill = "orange", colour = "skyblue", alpha = 0.5) 

enter image description here

相關問題