21

これは過去に誰かを悩ませたに違いないので、これが重複している場合はすみません。削除します。使用時に凡例を横切るスラッシュgeom_barは煩わしい場合があります。例えば:

x  <- c("a","b")
y  <- c(1,2)
df <- as.data.frame(cbind(x,y))
a  <- ggplot(df,aes(x=x,y=y,fill=x))
a + geom_bar(colour="black") + scale_fill_manual(values=c("white", "black"))

ここに画像の説明を入力

色付きのバーを使用するときは、この回避策を使用して、最初に色のないバーをプロットします。

a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
 scale_fill_manual(values=c("white", "black"))

ただし、塗りつぶしが白の場合、凡例に境界線のない満足のいく空の白いボックスが残ります。例えば

ここに画像の説明を入力

過去にグラフィックソフトウェアを使用して手動で修正しましたが、今では、ここで質問するのに十分な数の人に役立つに違いないと思います. ggplot凡例を黒のアウトラインのみでスラッシュなしでプロットすることはできますか?

4

2 に答える 2

13

これ、

 a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) +
 scale_fill_manual(values=c("white", "black")) + 
 opts(legend.key = theme_rect(fill = 'black'))

このサイトここに画像の説明を入力の おかげで、これをくれまし た。

colourまた、代わりに ofを使用しても同じ結果が得られますfill(1 がより優れていると主張されるかもしれません)。

a + geom_bar() + geom_bar(colour="black",show_guide=FALSE) + 
scale_fill_manual(values=c("white", "black")) + 
opts(legend.key = theme_rect(colour = 'black'))

重要な注意: ggplot2 の最新バージョンでoptsは、非推奨になり、 に置き換えられtheme、 にtheme_rect置き換えられましたelement_rect

于 2012-05-18T23:23:06.317 に答える
3

いいえ、それがアウトラインを与えるものです。白の代わりにグレーを使用すると(トリックで)、より識別しやすくなります。凡例に背景色を追加して、区別しやすくし、白のままにすることもできます。詳細については、このページの下部を参照してください。

http://wiki.stdout.org/rcookbook/Graphs/Legends%20(ggplot2)/

これを行うハックの少ない方法があればいいのにと思います。

于 2012-05-18T23:10:27.523 に答える