R 删除PDF输出中条形图周围的空格

R 删除PDF输出中条形图周围的空格,r,plot,R,Plot,我有一个条形图: > data = c(1, 5, 3, 4) > barplot(data, space = 0, col = 'gray', border = 0) 在OS X上,使用默认驱动程序(Quartz),如下所示: 请注意,这些条之间没有空格。但是,将图形导出为PDF时 通过quartz.save('file.pdf',type='pdf')或 通过pdf('file.pdf',type='pdf')后跟barplot(…) 输出如下所示: 横杆之间有清晰可辨的线

我有一个条形图:

> data = c(1, 5, 3, 4)
> barplot(data, space = 0, col = 'gray', border = 0)
在OS X上,使用默认驱动程序(Quartz),如下所示:

请注意,这些条之间没有空格。但是,将图形导出为PDF时

  • 通过
    quartz.save('file.pdf',type='pdf')
  • 通过
    pdf('file.pdf',type='pdf')
    后跟
    barplot(…)
  • 输出如下所示:

    横杆之间有清晰可辨的线条。不幸的是,在我的例子中,这不仅仅是一个美学上的麻烦:我正在绘制许多像素细的条,条之间的空间几乎和条本身一样大,这大大改变了对绘图的感知

    有没有办法去掉输出中的行?最好在使用
    pdf
    设备而不是pdf
    quartz
    输出时?

    这应该可以:

    barplot(data, space = 0, col = 'gray', border = 'gray')
    
    编辑:扩展答案。

    如果只是将边框的颜色定义为与填充颜色相同,则应该可以使用。以下代码生成以下绘图:

    data = c(1, 5, 3, 4)
    pdf('file.pdf') 
    barplot(data, space = 0, col = 'gray', border = 'gray')
    dev.off()
    

    这是一个相当难看的解决方案,但添加一个负空格(
    barplot(数据,空格=-1,列='gray',border=0)
    )就可以解决这个问题。我们只希望有人能想出一个不那么老套的解决方案。Cf<代码>?条形图,设置
    border=NA
    以忽略边框。我不能说这是否与人们认为的
    border=0
    @mrgumble时相同,但我也尝试过,它没有改变pdf上的任何内容。不过,大的解决方案可以按预期工作。有时,这样的行是pdf查看器的人工制品。我不知道这里是否是这样。@baptiste不是——它们的情节实际上是在Illustrator中进行后处理的。这些行在整个流程管道中都是可见的。值得注意的是,如果设置了
    par(lty=0)
    。我几乎绝望了,因为这在玩具示例中有效,但在我的真实代码中无效。重置
    lty
    解决了这个问题。