2015-12-21 19 views
6

どのように凡例のセクションを1つのカテゴリにすることができますか?私は成功なしでoverride.aesを混乱させようとしました。あるいは、所望の出力は、形状だけで尺度ではない凡例として見ることができる。ggplot2凡例には1つのカテゴリのみがあり、形状と尺度はありません

ggplot(iris) + 
    geom_point(aes(x=Sepal.Width, y=Sepal.Length, color=Species, size=Sepal.Length))+ 
    scale_size_continuous("Legend with \n only 1 circle ",range = c(5,10))+ 
    guides(size = guide_legend(override.aes=list(range= c(1,5)))) 

image1

私が取得しようとしていますproductの種類のイラスト:map2

ポイントがスケーリングされているが、伝説の規模を報告しません。

+0

私はそう完全な答えを持っていないが、これは始めるためにあなたを助けるかもしれません。私は、geom_point()(虹彩の最初の行から)をプロットしました。 "="赤い ")+ (データ=テスト、aes(x = Sepal.Width、y = Sepal.Length、サイズ= Sepal.Length)、ラベル=" ")+ geom_pointガイド(size = guide_legend(override.aes = list(size = 3))) – MLavoie

答えて

5

スケールでbreakを作成するだけです。カスタムラベルを追加することもできます(ここでは"")。また、選択したブレークで凡例内のポイントのサイズを制御することもできます。

scale_color_discrete()ラインがあります。そうでないと、1ポイントの凡例が上に表示され、目的の画像には表示されません。

require(ggplot2) 
g <- ggplot(iris) + geom_point(aes(x = Sepal.Width, y = Sepal.Length, 
            color = Species, size = Sepal.Length)) + 
    scale_color_discrete(name = "Color") + 
    scale_size_continuous(name = "Legend with \n only 1 circle", 
         breaks = 5, labels = "") 

enter image description here

2

@choffソリューションは、私が与えた例のための最善の解決策ですが、ここで私は円の範囲の大きさを制御することがために、必要に応じて私が使用して終了若干異なるものです。

ggplot(iris) + 
    geom_point(aes(x=Sepal.Width, y=Sepal.Length, color=Species, size=Sepal.Length))+ 
    scale_size_continuous("Legend with \n only 1 circle ",range = c(5,10), labels=c("","","","",""))+ 
    guides(size =guide_legend(override.aes=list(size=c(4,0,0)))) + 
    theme(legend.key = element_blank()) 
2

ターゲットマップチャートから、凡例で色と形でチャートシンボルを区切りたいと思うようです。サイズは、シンボルのサイズを設定するためにのみ使用されます。また、あなたのデータには、別々の国のための列があります。そこで、列を2つの値で区切り、色と形をその列にマップし、その2つの美学の凡例を1つの結合凡例に表示する列を虹彩に追加することができます。コードは次のようになります。

sp <- ggplot(transform(iris, Flower_size = ifelse(Petal.Width < 1, "Small Flower","Big Flower"))) 
sp <- sp + geom_point(aes(x=Sepal.Width, y=Sepal.Length, fill=Flower_size, shape=Flower_size, size=Sepal.Length), colour=NA) 
sp <- sp + scale_size_continuous(range = c(4,7)) 
sp <- sp + scale_shape_manual(values=c(21, 22)) 
sp <- sp + scale_fill_manual(values=c("grey", "orange")) 
sp <- sp + labs(fill="", shape="") 
sp <- sp + guides(size=FALSE, fill=guide_legend(override.aes=list(size=7))) 
sp <- sp + theme(legend.text=element_text(size=12)) 
plot(sp) 

enter image description here

関連する問題