15

こちらのチャートをご覧ください!凡例の上下にたくさんの空白があることがわかります。スペースを減らしたい。

コード例:

library(ggplot2)
library(gridExtra)
library(reshape)
library(plyr)
library(scales)

theme_set(theme_bw())

rows <- 1:nrow(faithful)
data <- cbind(faithful, rows)
molten <- melt(data, id.vars='rows', measure.vars=c('eruptions', 'waiting'))

p <- ggplot() +
    geom_line(data=molten, 
        mapping=aes(x=rows, y=value, group=variable, colour=variable), size=0.8) +
    scale_colour_manual(values=c('red','blue')) +
    opts(title='Title') +
    xlab(NULL) + ylab('Meaningless Numbers') +
    opts(
        legend.position='bottom',
        legend.direction='horizontal',
        legend.title=theme_blank(),
        legend.key=theme_blank(),
        legend.text=theme_text(size=9),
        legend.margin = unit(0, "line"),
        legend.key.height=unit(0.6,"line"),      
        legend.background = theme_rect(colour='white', size=0)
    )

ggsave(p, width=8, height=4, filename='crap.png', dpi=125)
4

2 に答える 2

16

凡例の余白を削除するには (負の値を指定すると空白がさらに減ります):

p + theme(legend.margin=margin(t=0, r=0, b=0, l=0, unit="cm"))
p + theme(legend.margin=margin(t=0, r=0, b=-0.5, l=0, unit="cm"))

負の数を指定して、プロット マージンの下部を削除することもできます (ただし、凡例を切り取らないように注意してください)。

p + theme(plot.margin = unit(x = c(0, 0, -0.2, 0), units = "cm"))

イラスト: ggplot2、上と余白に凡例

于 2015-05-28T12:31:56.620 に答える
5

凡例を囲むスペースを縮小できる 2 つの追加オプションを次に示します。

p + theme(
      legend.key.height=unit(0, "cm"),      
      plot.margin = unit(c(1,0.5,0,0.5), "lines")
    )

このオプションplot.marginは、プロット自体の周囲にどれだけのスペースがあるかを示します。3 番目の引数は、プロットの下のスペースの量を示します。それをゼロに設定すると役立ちます。

ここに画像の説明を入力

于 2012-08-31T09:42:27.517 に答える