目前,您无法设置gpar()
显式绘制条形图的 y 轴。但是,有两种通用的解决方法:(1)不要弄乱字体大小,而是在更大的设备上绘图。(2) 设置一个不同的外部视口,gpar(fontsize = ...)
用作绘图中更下方的视口。
(1) 更大的设备
为了说明,我png()
在这里使用了一个设备,因为 PNG 图形是我在 StackOverflow 上嵌入的。但是,当然,您可以在其他设备上使用相同的技巧,包括那些不是您自己创建但通过 R/Markdown 等中的块选项创建的设备。
我使用 13 x 13 英寸的设备尺寸(而不是更常见的 6 x 6 或 7 x 7 英寸设置)。然后我可以省略所有gpar()
设置,因为设备足够大,可以容纳默认参数。不过,我仍然设置abbreviate
and var_offset
。
png("pairs1.png", height = 13, width = 13, units = "in", res = 100)
pairs(table(ICU[, c(1, 3:9)]),
diag_panel = pairs_barplot(abbreviate = 1, var_offset = 1.25))
dev.off()
(2) 外部视口
或者,我可以grid
自己创建一个新页面并推送一个视口,gpar(fontsize = 7)
并在此视口及其子项中将其用作默认值。然后我保留您的gpar()
设置pairs_barplot()
并添加调用newpage = FALSE
,pairs()
因为我想使用我已经创建的页面。
然后减小所有字体大小,以便在 7 x 7 英寸设备上正常打印。
png("pairs2.png", height = 7, width = 7, units = "in", res = 150)
grid.newpage()
pushViewport(viewport(gp = gpar(fontsize = 7)))
pairs(table(ICU[, c(1, 3:9)]),
diag_panel = pairs_barplot(
gp_vartext = gpar(fontsize = 10, fontface = 2),
gp_leveltext = gpar(fontsize = 8),
abbreviate = 1, var_offset = 1.25),
newpage = FALSE)
dev.off()