ggplot2中facet_wrap( )的高阶用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ggplot2中facet_wrap( )的高阶用法相关的知识,希望对你有一定的参考价值。
参考技术A 介绍ggplot2中facet_wrap( )函数中labeller 参数的用法labeller参数,可以使用它来处理太长的facet标签
同时显示变量名称与因子值
显示因子值
显示变量名称+因子值
labeller参数转化添加希腊字母
在 ggplot/ggplotly 中使用 facet_wrap 时如何防止 y 轴挤压标签?
【中文标题】在 ggplot/ggplotly 中使用 facet_wrap 时如何防止 y 轴挤压标签?【英文标题】:How to prevent the y-axis from squishing the labels when using facet_wrap in ggplot/ggplotly? 【发布时间】:2021-12-07 14:16:49 【问题描述】:在我的示例中,我试图让 y 轴上的标签不被挤压在一起。有没有办法使用 ggplot2 或 ggplotly 来做到这一点?这是一个可重现的示例:
mpg2 <- subset(mpg, manufacturer %in% c("audi", "chevrolet",
"dodge","ford","honda","hyundai","jeep","land rover","lincoln","mercury","nissan", "pontiac",
"subaru", "volkswagen"))
base <- ggplot(mpg2, aes(displ, hwy)) +
geom_blank() +
xlab(NULL) +
ylab(NULL)
ggplotly(base + facet_wrap(~manufacturer, ncol = 1))
请注意:我不想让 ncol 超过 1。我想保持这种方式。我试图防止它被挤在一起。谢谢!
【问题讨论】:
没有空间了。 有没有办法减小y标签本身的大小? 是的,base + theme(axis.text.y=element_text(size=rel(0.5))
。将rel
值设置为您想要的任何值。您还可以相对于水平尺寸增加输出图的垂直尺寸。如何做到这一点取决于您使用的输出方法。
抱歉,我指的是 y_axis 上的实际数字。这只是改变y轴标题的大小吗?对于造成的混乱,我深表歉意。
没关系,这似乎有效。谢谢!
【参考方案1】:
感谢@eipi10 的评论
mpg2 <- subset(mpg, manufacturer %in% c("audi", "chevrolet",
"dodge","ford","honda","hyundai","jeep","land rover","lincoln","mercury","nissan", "pontiac",
"subaru", "volkswagen"))
base <- ggplot(mpg2, aes(displ, hwy)) +
geom_blank() +
xlab(NULL) +
ylab(NULL)
ggplotly(base + facet_wrap(~manufacturer, ncol = 1) + theme(axis.text.y=element_text(size=rel(0.5)))
【讨论】:
以上是关于ggplot2中facet_wrap( )的高阶用法的主要内容,如果未能解决你的问题,请参考以下文章
在 R 中使用带有 facet_wrap 的 ggplot2 显示多个轴标签
在 ggplot2 的 facet-grid/facet_wrap 中调整面板的相对空间
在 R 的 ggplot2 中一起使用 stat_function 和 facet_wrap
如何使用 ggplot2 删除 facet_wrap 图中的额外列?