8

(パッケージ名: ggplot2)を使用して 15 行をプロットしていggplotます。それぞれが個別のエンティティを表し、同じ凡例を作成したいと考えています。ただし、凡例のエントリを複数の列に分割することはできません。誰かがggplot環境で同じことをする方法を提案できますか.

現在、次のコマンドを使用して凡例を作成しています。

opts(title=plotName,legend.position='bottom')

ただし、これにより 1 列の凡例が得られます。その結果、チャートの大きな領域が凡例自体によって占有されます。2 つまたは 3 つの列に分割すると、グラフの下部に凡例を維持しながら、原因を解決するのに非常に役立ちます。私も試しlegend.directionましたが、このコマンドは凡例を 1 行に表示します。

opts(title=plotName,legend.position='bottom',legend.direction="horizontal")

前もって感謝します、ムニッシュ

4

2 に答える 2

11

ggplot の新しいテーマ環境を使用するには+ guides(col=guide_legend(ncol=2))、凡例を 2 列にフォーマットするだけです。

于 2013-05-19T16:40:50.190 に答える
8

guide_legend()ggplot 凡例のレイアウトと外観を制御するために使用できます。特に、それはあなたが求めている引数nrowとを受け取ります。ncol

これは、非常に役立つドキュメント ggplot2-0.9.0.pdf への変更と追加のセクション 2 から取られた例です。

library(ggplot2)

q <- ggplot(diamonds, aes(x = table, fill = clarity)) +
     geom_histogram() +
     scale_y_continuous()

q + guides(fill = guide_legend(nrow = 4, title.hjust = 0.4,
        title.theme = theme_text(size = 12, face = "bold"))) +
xlim(45, 75)
于 2012-06-22T19:37:28.013 に答える