複数の凡例を持つ ggplot があるとします。
mov <- subset(movies, length != "")
(p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point()
)
次のようにして、すべての凡例の表示をオフにすることができます。
(p1 <- p0 + theme(legend.position = "none"))
パス(に従ってshow_guide = FALSE
)geom_point
この質問) は図形の凡例をオフにします。
(p2 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point(show_guide = FALSE)
)
しかし、代わりに色の凡例をオフにしたい場合はどうすればよいでしょうか? どの凡例に動作を適用するかを指定する方法はないようですshow_guide
。また、スケールや美観に関する議論もありませんshow_guide
。
(p3 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
scale_colour_discrete(show_guide = FALSE) +
geom_point()
)
# Error in discrete_scale
(p4 <- ggplot(mov, aes(year, rating, shape = mpaa)) +
aes(colour = length, show_guide = FALSE) +
geom_point()
)
#draws both legends
この質問凡例を制御する現代的な方法 (ggplot2 v0.9.2 以降) は、関数を使用することを示唆していますguides
。
こんなことができるようになりたい
p0 + guides(
colour = guide_legend(show = FALSE)
)
ただし、guide_legend
show 引数はありません。
表示される凡例を指定するにはどうすればよいですか?
ベストアンサー1
guide = "none"
凡例を非表示にするにはin を使用しますscale_..._...()
。
あなたの例では、は連続変数(離散変数ではない)なので、scale_colour_continuous()
を使用する必要があります。length
(p3 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
scale_colour_continuous(guide = "none") +
geom_point()
)
または、凡例として表示したくない要素/美観に対してguides()
設定する必要がある関数を使用します (例: 、、) 。"none"
fill
shape
colour
p0 <- ggplot(mov, aes(year, rating, colour = length, shape = mpaa)) +
geom_point()
p0+guides(colour = "none")
アップデート
提供されているソリューションは両方とも新しいggplot2
バージョン 3.3.5 で動作しますが、movies
データセットはこのライブラリには存在しません。代わりに、新しいパッケージを使用してggplot2movies
これらのソリューションを確認する必要があります。
library(ggplot2movies)
data(movies)
mov <- subset(movies, length != "")