2012-10-04 18 views
3

我使用GGPLOT2可視化從數據集三個變量如這樣:如何使ggplot2中的點的大小與其數值成反比?

data = data.frame(x = sample(1:10, 10, replace=TRUE), y = sample(1:10, 10, replace=TRUE), Rank = sample(1:10, 10, replace = TRUE)) 

與示例代碼在這裏:

ggplot(data, aes(x = x, y = y)) + geom_point(aes(size = Rank)) 

不過,我想一個點的大小爲反過來與它的等級成比例,所以等級接近'1'的點很大,並且要在圖例中正確顯示。

任何人都可以幫忙嗎?

回答

5

你可以使用1/Rank

ggplot(data, aes(x = x, y = y)) + geom_point(aes(size = 1/Rank)) 
+0

只是打我吧),加一。也許你也可以用'max(Rank)'來劃分你的數據來歸一化爲1. –

+0

感謝你的快速反饋。這給出了正確的顯示,但是現在這個圖例並不反映排名本身。這似乎是一個簡單的問題,但我是ggplot2的新手,無法找到它的快速解決方案。 – Tim

+0

如果您滿意地回答您的問題,Tim可以考慮通過點擊答案左側投票下面的「檢查」標記來接受它。 – gung

相關問題