gpt4 book ai didi

r - 如何在ggplot2中指定图形的大小而与轴标签无关

转载 作者:行者123 更新时间:2023-12-03 16:13:37 27 4
gpt4 key购买 nike

说我有一个数据框,想画一个图

df <- melt(iris)

p <- ggplot(data = df, aes(x = Species, y = value)) +
geom_boxplot() + theme(aspect.ratio = 1)

然后,我想使用ggsave()保存此图的pdf
ggsave(plot = p, width = 3, height = 3, dpi = 300, filename = "not squished axis.pdf")

enter image description here

问题是我想指定图本身的尺寸,但独立于轴标签,以便下面指定的图在轴的绝对长度方面具有相同的大小和尺寸。
q <- ggplot(data = df, aes(x = Species, y = (value)*10000000)) +
geom_boxplot() + theme(aspect.ratio = 1)

ggsave(plot = q, width = 3, height = 3, dpi = 300, filename = "squished axis.pdf")

enter image description here

有没有一种方法可以轻松做到这一点?

这是一个在轴长方面更接近我想要的图的示例:

enter image description here

唯一的问题是,通过更改长宽比,我最终挤压y轴以使x轴的长度更接近偶数...

最佳答案

使用ggplotGrob。像这样的东西:

g1 <- ggplot(...)
g2 <- ggplot(...)

g1grob <- ggplotGrob(g1)
g2grob <- ggplotGrob(g2)

grid.arrange(g1grob, g2grob)

关于r - 如何在ggplot2中指定图形的大小而与轴标签无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46840724/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com