【问题标题】:How can I move facet labels to top of my graph?如何将构面标签移动到图表顶部?
【发布时间】:2012-03-11 03:54:21
【问题描述】:

我可以像这样创建一个多面图,其中 3 个图垂直堆叠

ggplot(iris, aes(Petal.Length)) + stat_bin() + facet_grid(Species ~ .)

是否可以将标签移动到每个图表的顶部,就像我使用 facet_grid(. ~ Species) 完成水平堆叠一样?

我想要这个的原因是我的图是长时间序列图,所以我想要每个图的全宽,但是每个图的标签(本质上用作解释方面的标题)太长而无法容纳在绘图右侧的小标签区域中。

【问题讨论】:

    标签: r ggplot2 facets


    【解决方案1】:

    是的。使用facet_wrap 而不是facet_grid 并确保同时指定参数ncol=1

    ggplot(iris, aes(Petal.Length)) + stat_bin() + facet_wrap(~Species, ncol=1)
    

    【讨论】:

    • y 轴每次最多有 25 个。是否实际上具有将轴设置为每个方面的适当范围的原始行为?
    • 添加facet_wrap(~Species, ncol=1,scales="free_y")
    【解决方案2】:

    试试这个:

    ggplot(iris, aes(Petal.Length)) + stat_bin() + facet_wrap(~Species,nrow = 3)
    

    【讨论】:

    • @Andrie 至少我们做了一点不同:我设置nrow = 3,而你设置ncol = 1
    • 哇不知道。漂亮的+1
    • 非常好。我想我更喜欢ncol=1,因为这样我就不必测量有多少行了。
    • 看起来另一种解决方案是使用geom_text() 添加标签,因此它不会占用绘图空间。但是接下来我必须弄清楚如何完全删除构面标签框。
    • @KenWilliams opts(strip.background = theme_blank())
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多