20

ggplot2 を使用して、次の密度プロットを作成します。

ggplot(iris) + geom_density(aes(x=Sepal.Width, colour=Species))

色の凡例 (各 Species 値の) は線の入ったボックスとして表示されますが、プロットされた密度は線です。凡例を線のあるボックスではなく、種のエントリごとに色付きの線として表示する方法はありますか?

4

4 に答える 4

26

1 つの可能性は、 と一緒に使用stat_density()することgeom="line"です。この場合のみ、上の行のみが存在します。

  ggplot(iris)+
    stat_density(aes(x=Sepal.Width, colour=Species),
                     geom="line",position="identity")

領域全体(すべての線)も必要な場合は、 (凡例を削除するために)と組み合わせるgeom_density()と、水平線だけで凡例を追加できます。show_guide=FALSEstat_density()

ggplot(iris) + 
  geom_density(aes(x=Sepal.Width, colour=Species),show_guide=FALSE)+
  stat_density(aes(x=Sepal.Width, colour=Species),
                  geom="line",position="identity")

ここに画像の説明を入力

于 2013-07-06T19:09:04.163 に答える
1

次の方法で、線を 2 回プロットすることを回避できます。

ggplot(iris) + 
geom_density(aes(x=Sepal.Width, colour=Species),show_guide=FALSE) +
stat_density(aes(x=Sepal.Width, colour=Species),
             geom="line",position="identity", size = 0) + 
guides(colour = guide_legend(override.aes=list(size=1)))

ps: 明らかに正しい答えについてコメントしていないことをお詫びします -- 担当者の問題の欠如 :)

pps: スレッドがかなり古いことは承知していますが、今日は役に立ちました。

于 2015-02-05T20:24:13.383 に答える