私はlegend
またはguide
パラメータをカスタマイズするためにプレーしようとしたが、私は解決策を見つけることができません。私はggplot2の設定を使用して解決策を与えることを望む。
ここでは、gtable
およびgrid
パッケージに基づく2つのソリューションがあります。
gtable
ソリューションの場合、コードはこのquestionからインスピレーションを受けています。
grid
パッケージを使用して
library(gtable)
# Data transformation
data <- ggplot_build(p)
gtable <- ggplot_gtable(data)
# Determining index of legends table
lbox <- which(sapply(gtable$grobs, paste) == "gtable[guide-box]")
# changing the space between the 2 legends: here -0.5 lines
guide <- gtable$grobs[[lbox]]
gtable$grobs[[lbox]]$heights <- unit.c(guide$heights[1:2],
unit(-.5,'lines'), ## you can the GAP here
guide$heights[4:5])
# Plotting
grid.draw(gtable)
同様の(私たちは伝説のビューポートに再描画)
pp <- grid.get('guide',grep=T)
depth <- downViewport(pp$wrapvp$name)
guide <- grid.get('guide',grep=T)
grid.rect(gp=gpar(fill='white'))
guide$heights <- unit.c(guide$heights[1:2],unit(-0.2,'lines'),guide$heights[4],unit(0.1,'lines'))
grid.draw(guide)
upViewport(depth)
あなたは、格子とggplot用語の両方で「スケール」と呼ばれているものについて話している、またはあなたが「伝説」に言及していますか? –
私は、プロットの例では 'color'と 'size'と呼ばれるプロットを左のpfで伝えています。私は一緒にもっと近くに移動したいです。 – user2503795
あなたは問題をよりよく定義しますが、重複は可能ですか? :/ http://stackoverflow.com/questions/11366964/is-there-a-way-to-change-the-spacing-between-legend-items-in-ggplot2 –