2010-11-19 98 views
11

憑直覺我在尋找這樣的:屬於不同物種的情節二維測量從個體(model):facet_(scales="free_color")GGPLOT2:每面單獨的顏色規模

我做這樣的事情

p <- ggplot(mpg, aes(year, displ, color=model)) + facet_wrap(~manufacturer) 
p + geom_jitter() 

也就是說(manufacturer)由一個物種有刻面的,表示由顏色的個體。 的問題是,所有的個人共享相同的色標 - 所以,在一個小點有非常相似的顏色。

使用與geom_line組唯美可以解決這個問題,但線條訴說着不同的故事比點。

另一個明顯的解決辦法是刪除該刻面和繪製對於每個子集的單獨圖。 (如果這應該是唯一的解決辦法:有沒有什麼快速,智能和成熟的方式來做到這一點?)

回答

5

我不知道,這是一個可行的選擇,當你的一個因素着色。然而,產生個別地塊的快捷方式是這樣的:

d_ply(mpg, .(manufacturer), function(df) { 
jpeg(paste(df$manufacturer[[1]], ".jpeg", sep="")) 
plots <- ggplot(df, aes(year, displ, color=factor(model))) + geom_jitter() 
print(plots) 
dev.off() 
}) 

相關答案: Different legends and fill colours for facetted ggplot?

+0

作爲哈德利提到的(在你鏈接的答案編輯)「很容易通過繪製單獨的地塊來解決問題」 - 這說明了方法。謝謝!但我仍然在努力將它們與我創建的其他分面圖相匹配。 – ian 2010-11-24 20:22:14

+0

你能告訴我們到目前爲止你有什麼?並嘗試描述什麼是/不匹配? – 2010-11-24 20:25:50

+0

其實,也許這將是最好問一個新問題顯示你目前在情節(S)和你實際上是在尋找什麼樣的條件。 – 2010-11-25 01:25:30

2

我覺得你只是想通過類,其中每個製造商提出了一些車型的顏色,每隻有一個或兩個每類:

p <- ggplot(mpg, aes(year, displ, color=class)) + facet_wrap(~ manufacturer) 
p + geom_jitter() 

alt text

+1

'mpg'數據集只是一個例子。我想繪製每個物種('facet')的樹('color'或'group')樣本的密度梯度('x' vs'y')。每棵樹只屬於一個物種。 – ian 2010-11-24 19:46:44