par(xpd) 不剪辑条形图?

Posted

技术标签:

【中文标题】par(xpd) 不剪辑条形图?【英文标题】:par(xpd) does not clip barplots? 【发布时间】:2016-01-12 21:29:51 【问题描述】:

剪辑似乎不会影响barplot() -- ??

par(xpd=F); barplot(1:60, ylim=c(0,6)); segments(0,0,200,100, lwd=5)

线段在y=6 处被剪裁,但条形图位于页面顶部! 我刚刚升级(Mac上的消防安全,3.2.2(2015-08-14));我尝试使用石英设备并使用 pdf 设备——同样的错误。如果我使用plot() 而不是barplot(),效果很好。

还有其他人有这个错误吗?有什么解释或解决方法吗?

谢谢!

拉里

【问题讨论】:

【参考方案1】:

barplot 有一个xpd 参数,它覆盖了par 中的设置。来自?graphics::barplot

## Default S3 method:
barplot(height, width = 1, space = NULL,
        names.arg = NULL, legend.text = NULL, beside = FALSE,
        horiz = FALSE, density = NULL, angle = 45,
        col = NULL, border = par("fg"),
        main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
        xlim = NULL, ylim = NULL, xpd = TRUE, log = "",
        axes = TRUE, axisnames = TRUE,
        cex.axis = par("cex.axis"), cex.names = par("cex.axis"),
        inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0,
        add = FALSE, args.legend = NULL, ...)

....

xpd: logical. Should bars be allowed to go outside region?

这有效,例如,

barplot(1:60, ylim=c(0,6), xpd = FALSE)

【讨论】:

以上是关于par(xpd) 不剪辑条形图?的主要内容,如果未能解决你的问题,请参考以下文章

R语言可视化绘制基本图形

Rechart 条形图:除了条形图啥都不显示? (全宽和全高?)

条形图仅显示一个 x 值的条形图

Tableau数据可视化

R绘制发散型条形图(Diverging Bars)

r语言 条形图上有数值