これは主に、theme()
機能でpanel.margin = unit(...)
がどのように機能するのか誤解している可能性がありますが、私はfacet_wrapの余白をカスタマイズすることができません。基本的には、ファセットテキスト(つまりstrip.text
)を各ファセットに挿入し、各ファセット間にスパケットを入れないで、facet_gridを作成します。ggplot2とfacet_wrapでは、すべてのマージンとパディングを削除してstrip.textを保持する方法は?
(各ファセットの寸法を示すためにピンクの枠内に残しました)
だからここのコードは、これまでのところです。 strip.text完全
p + mytheme + theme(strip.text = element_blank())
を削除
library(ggplot2)
library(grid)
p <- ggplot() +
geom_bar(data = mtcars, aes(x = cyl, y = qsec), stat = 'identity') +
facet_wrap(~ carb, ncol = 3)
mytheme <- theme_minimal() + theme(
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
panel.margin = unit(0, "lines"),
panel.border = element_rect(colour = rgb(1.0, 0, 0, 0.5), fill=NA, size=1)
)
標準プロット
p + mytheme
:
は、データとプロットを設定するにはstrip.textを追加し、それ
p + mytheme +
theme(strip.text = element_text(size = rel(3.0), vjust = -4.0))
strip.textの再封入(および増加相対サイズ)insetting二列間の垂直マージンを増加させます。だからこの時点で、私はトップとボトムの行の間の垂直のギャップを閉じる方法を知らない。
あまりにも多くの負のマージンp + mytheme +
theme(strip.text = element_text(size = rel(3.0), vjust = -4.0),
panel.margin = unit(c(-2, -2), "lines"))
は、どのように私は2つの行の間だけpanel.marginをターゲットにしますか?
編集:追加情報行の間のスペースはstrip.background
ように表示されます。
p + mytheme +
theme(strip.text = element_text(size = rel(3.0), vjust = -4.0),
panel.margin = unit(-1, "lines"),
strip.background = element_rect(fill = rgb(0, 1.0, 0, 0.2)))
'panel.marginを使用する場合。y = unit(-2、 "lines") 'ならば、行間のスペースを減らすだけです。それはあなたが探していたものなのですか、それとも何か他のものがありましたか? – maj
@maj ...それは簡単ではありません...しかしそれはありました。私はどこかのドキュメントでそれを逃したと思います。私はそれを受け入れることができるように答えとしてあなたのコメントを再投稿できますか? –
私のシステムで@maj私は希望の結果を得るために 'panel.margin.y = unit(-0.5、" lines ")'が必要です – Jaap