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

约翰·加格农

说我有一个数据框并想作图

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")

在此处输入图片说明

问题是我想指定图本身的尺寸,但独立于轴标签,以便下面指定的图在轴的绝对长度方面具有相同的大小和尺寸。

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")

在此处输入图片说明

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

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

在此处输入图片说明

唯一的问题是,通过更改长宽比,我最终挤压了y轴,使x轴的长度更接近均匀。

o

使用ggplotGrob像这样:

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

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

grid.arrange(g1grob, g2grob)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在单个ggplot2图中指定不同的调色板和线条大小

在ggplot2中更改轴标题和标签的大小

Python matplotlib:如何在轴/对象上打勾和打勾标签,而与对象的比例无关

如何在R的ggplot2中指定手动色标?

如何在ggplot2中不中断地添加轴标签?

如何在ggplot2中的轴刻度标签周围创建框?

如何在ggplot2中将y轴标题(非标签)旋转为水平

如何在ggplot2中的方面之间强制使用常见的x轴标签/限制?

如何在ggplot2中使用ylab()创建动态轴标签?

ggplot2中的轴标签交错

如何在R中的ggplot2图形中将文本粘贴到数字y轴刻度上?

如何在ggplot2中为树图的标签文本设置相同的大小

如何在rmarkdown中缩放ggplot2图的标签大小

ggplot2轴标签点未按指定显示

如何在ggplot2中将轴居中

如何在ggplot2中更改Y轴的标题?

如何使图形的轴跳过固定值(ggplot2)

如何在多个多方面ggplot2图形中实现相同的方面大小和比例?

在ggplot2中的图例中指定形状

在ggplot2中指定点的形状

如何在ggplot2中每3或6个月显示日期x轴标签

如何在R ggplot2中使用多个变量旋转标签轴的一部分

如何在Matplotlib中设置图形标题和轴标签的字体大小?

如何在ggplot2中增加图例的大小

如何在ggplot2中旋转标签?

如何在ggplot2中删除部分y轴并反转该轴

如何在R ggplot2中基于y轴值对x轴重新排序

bquote轴标签ggplot2中的换行和上标

交错轴标签,ggplot2中的新功能

TOP 榜单

热门标签

归档