是否可以在ggplot中的每个面板中指定不同的标签轴?
例如:
ggplot(diamonds, aes(x = carat, y = price)) + geom_point() + facet_grid(~cut)
在这个图中我们有五个面板,我想为每个面板指定我自己的标签。默认输出是为所有轴生成一个标签。
是否存在不涉及使用grid.arrange的解决方案,如下所示:
答案 0 :(得分:0)
(我假设您指的是轴标题,而不是标签。)
原则上,没有。分面背后的哲学是它们共享共同的美学映射。但我们可以欺骗ggplot
来获得我们想要的东西,例如:
ggplot(diamonds, aes(x = carat, y = price)) +
geom_point() +
facet_grid(~cut, switch = 'x') +
theme(axis.title.x = element_blank(),
strip.background = element_blank())
诀窍是将switch
小平面条带到情节的底部。然后我们关闭条形背景和原始x轴标题,以创建单独轴标题的外观。
(您可能还想将strip.text.x = element_text(size = ??)
更改为与y轴标题相同的大小。但是,似乎没有记录轴标题的默认大小。)