2013-03-03 10 views
9

カラーとサイズの両方をキャプチャする単一の凡例を取得するにはどうすればよいですか?ggplot2:共通変数から派生した2つのビジュアルプロパティを持つ凡例

一般的な変数を使用すると、共通の凡例がデフォルトになっているような印象を受けましたが、次の例では何かが見当たりません。この編集を促しコメントをアルンへ

library(ggplot2) 

input <- as.data.frame(matrix(runif(60),nrow=20,ncol=3)) 
colnames(input) <- c("A","B","C") 

p <- ggplot(input,aes(A,B,size=C,color=C)) + geom_point() 

enter image description here

感謝。したがって、サイズを使用するだけで(そして色を忘れると)3つのサイズを表す凡例が得られますが、プロットにはさらに多くのサイズが表示されます。共通の変数のいくつかの値を示し、対応するサイズと色を示している伝説 -

enter image description here

だから、私は後になると、同様の現象です。

私はサイズや色のラベルが同じ作り、それがガイドラインと組み合わせて同じ情報で働いていることを確認するために必要なカラーバーが通常の伝説ができ合併することはできませんが、
+2

あなたは美的な「サイズ」と「色」を連続的な属性(「C」は「因子」ではない)としてプロットしているようです。離散的でないときに凡例をどのように組み合わせることができますか? 'ggplot(input、aes(A、B))+ geom_point(aes(size = factor(C)、color = factor(C)))'を試してみてください(沢山の凡例が表示されます) – Arun

+0

Thanks @Arun。サイズと色は連続しています。私はサイズが連続した凡例表現を持つことができないことを感謝し、私はそれがちょうど凡例のそれらだけプロットに異なるサイズが表示されるように、間隔でサイズをサンプリングすると仮定しました。 –

+0

@Arun:結局のところ、それは既にサイズに対してです:凡例は、プロットに現れるすべてのサイズを表示しません。共通変数のサブセットを、対応する色とサイズで描かれた凡例に表示することは妥当ですか? –

答えて

9

p + guides(colour = guide_legend()) 
+0

ちょうど私が必要なもの、ありがとう。 –

+0

あなたのソリューションでは、マージされた新しい凡例のタイトルを変更する最も簡単な方法は何ですか? –

+0

私は上記の前にscale_size_continuous( "new title")とscale_colour_continuous( "new title")の方法を見つけましたが、2つの行が必要かどうかはわかりません。 –

0

p+geom_jitter(data=df, aes(x=x, y=y, color=value, size = value)) 
+scale_size_continuous(name = "Legend Name", breaks= c(.25, .50,.75), labels=c(".25",".50",".75"))+scale_colour_gradient(name = "Legend Name", breaks= c(.25, .50,.75), labels=c(".25", ".50",".75"))+ 
guides(colour = guide_legend()) 
関連する問題