ggplot2 の凡例アイテム間の間隔を変更する方法はありますか? 私は現在持っています
legend.position ="top"
これにより、水平の凡例が自動的に生成されます。しかし、アイテムの間隔が非常に狭いため、それらをさらに離す方法を考えています。
水平方向の凡例にスペースを追加するために使用する簡単な修正は、ラベルにスペースを追加するだけです (以下の抜粋を参照)。
scale_fill_manual(values=c("red","blue","white"),
labels=c("Label of category 1 ",
"Label of category 2 ",
"Label of category 3"))
凡例のエントリ間にスペースを追加するには、テーマ要素の余白を調整しますlegend.text
。
各凡例ラベルの右側に 30pt のスペースを追加するには (水平凡例に役立つ場合があります):
p + theme(legend.text = element_text(
margin = margin(r = 30, unit = "pt")))
各凡例ラベルの左側に 30pt のスペースを追加するには (垂直の凡例に役立つ場合があります):
p + theme(legend.text = element_text(
margin = margin(l = 30, unit = "pt")))
ggplot2
オブジェクトのp
. キーワードはlegend.text
とmargin
です。
[編集に関する注意: この回答が最初に投稿されたとき、バグがありました。バグは修正されました]
これはパッケージでopts
非推奨になったため、代わりに関数を使用する必要があります。ggplot2
theme
library(grid) # for unit()
... + theme(legend.key.height=unit(3,"line"))
... + theme(legend.key.width=unit(3,"line"))
Koshke の ggplot2 に関する作業と彼のブログ ( Koshke のブログ)から
... + theme(legend.key.height=unit(3,"line")) # Change 3 to X
... + theme(legend.key.width=unit(3,"line")) # Change 3 to X
コンソールに入力theme_get()
して、他の編集可能な凡例属性を表示します。