使用ggplot2
和geom_tile
为文档创建PNG文件时,有没有办法将图块的大小设置为某个绝对单位(cm,pt)?我有多个图,当插入文档时,没有完全相同的图块大小。当然我可以手动改变图的宽度和高度,所以瓷砖几乎相互匹配,但那是作弊......
x轴和y轴上的变量名称具有不同的长度。因此,我想设置整个绘图的尺寸(包括所有标签),而不是将绘图区域的尺寸设置为某个固定值,可能通过scale_x/y_discrete
?或者,可以在使用gridExtra
或gtable
调整单个图表的大小后对其进行提取?
# Create some example data.
set.seed(1)
dt1 <- data.table(x=letters[1:5], y=rep(c("aaaaaaaaa", letters[2:3]), rep(5,3)),
value=runif(5*3))
dt2 <- data.table(x=letters[1:4], y=rep(letters[1:4], rep(4,4)),
value=runif(4*4))
# Make two tile plots.
p1 <- ggplot(dt1, aes(x, y, fill=value)) +
geom_tile() +
coord_equal(); p1
p2 <- ggplot(dt2, aes(x, y, fill=value)) +
geom_tile() +
coord_equal(); p2
# Save tile plots to drive.
# ggsave("p1.png", p1, width=5)
# ggsave("p2.png", p2, width=5)
这是插入了PNG图像的文档的屏幕截图,请注意标签大小相同:
这就是我所追求的:两个图像中红色箭头之间的绝对距离是相同的,没有调整标签大小。
任何建议都非常感谢!