我使用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
=甚至宽高比?,但我无法得到我想要的结果。不方便的方法是指定纸张的高度和宽度输出,并手动调整每次图表中的条形数量。但这似乎不合适。有人知道在我的情节中修复宽度条的便捷方法吗?
非常感谢所有帮助!
答案 0 :(得分:1)
虽然带有宽条的条形图看起来很傻,但是带有一些窄条的宽条形图可能看起来更傻。这使您可以指定绘图的宽度(通过width
参数pdf
)。
保持所有绘图的大小相同可能是最漂亮的,在这种情况下,您只需给width
一个固定值。如果你想要更少的条形图时需要更窄的图形,你需要一行代码,如
plot_width <- 3 + 0.5 * nlevels(x_variable)