R:gplots,barplots:如何固定条宽而不依赖于纸张设置?

时间:2010-12-20 21:50:17

标签: r graph

我使用gplots包输出条形图。我在for循环中使用它,因此省略了其余代码以使其更清晰:

library("gplots")
pdf(file = "/Users/Tim/desktop/pgax.pdf", onefile = TRUE, paper = "special")
par(mfrow = c(4,2)) #figures arranged in 2 rows and 2 columns
par(las=2) #perpendicular labels on x-axis

barplot2(expression,ylab = expression(expression),main = graph.header, cex.names =0.85, beside = TRUE, offset = 0, xpd = FALSE,axis.lty = 0, cex.axis = 0.85, plot.ci = TRUE,ci.l = expression - sd.value, ci.u = expression + sd.value, col = colors,width = 1,names.arg = c(etc))

现在,当我在a4指定纸张尺寸,并在两列中打印时,会生成条形,以便它们填满分配的整个空间。如果我在每个霰弹中只有几个杆,宽度与高度相比太大。我知道我应该使用xlimit and width =甚至宽高比?,但我无法得到我想要的结果。不方便的方法是指定纸张的高度和宽度输出,并手动调整每次图表中的条形数量。但这似乎不合适。有人知道在我的情节中修复宽度条的便捷方法吗?

非常感谢所有帮助!

1 个答案:

答案 0 :(得分:1)

虽然带有宽条的条形图看起来很傻,但是带有一些窄条的宽条形图可能看起来更傻。这使您可以指定绘图的宽度(通过width参数pdf)。

保持所有绘图的大小相同可能是最漂亮的,在这种情况下,您只需给width一个固定值。如果你想要更少的条形图时需要更窄的图形,你需要一行代码,如

plot_width <- 3 + 0.5 * nlevels(x_variable)