7

グラフにプロットされたすべての曲線を表す凡例を作成するにはどうすればよいですか? 現在、最初のレイヤー (「色」の美学に基づく) に対して自動凡例が生成されますが、他のレイヤー (すべての観察における「価格」変数の密度を表す黒い曲線) は、この凡例に含まれていません。

私の質問は、ggplot パッケージの背後にある概念の不完全な理解から確かに来ていると思います。

ggplot(diamonds) + 
  geom_density(aes(x = price, y = ..density.., colour = cut)) +
  geom_density(aes(x = price,y = ..density..))

ここに画像の説明を入力

4

1 に答える 1

8

の原則ggplot2は、各美学がスケールにマッピングされることです。colourしたがって、レイヤーをスケールに含めたい場合は、そのレイヤーを にマップする必要がありますcolour

このような:

ggplot(diamonds, aes(x=price)) + 
  geom_density(aes(colour = cut)) +
  geom_density(aes(colour="Overall"), size=1.5)

ここに画像の説明を入力


注: 手動のカラー スケールを指定することで、色をさらに制御できます。

ggplot(diamonds, aes(x=price)) + 
  geom_density(aes(colour = cut)) +
  geom_density(aes(colour="Overall"), size=1.5) +
  scale_colour_manual(
    limits=c("Overall", levels(diamonds$cut)),
    values=c("black", 2:6)
    )

ここに画像の説明を入力

于 2012-11-15T09:55:09.677 に答える