如何使用 facet 和 margin=TRUE 更改 ggplot 中的 strip.text 标签

Posted

技术标签:

【中文标题】如何使用 facet 和 margin=TRUE 更改 ggplot 中的 strip.text 标签【英文标题】:how to change strip.text labels in ggplot with facet and margin=TRUE 【发布时间】:2011-02-22 23:52:13 【问题描述】:

我看过here,但仍然无法弄清楚。如何更改带有刻面的 ggplot 中的 strip.text.x 标签?具体来说,我正在使用带有边距的 facet_grid。边距的 strip.text 标签是“(all)”——但由于我在一个非英语国家,我宁愿用我的母语写“Total”或类似的东西。

opts(stip.text.x=c(levels(facetvariabel,"Total")) does not work.

有什么想法吗?

示例(实际上并不是最好的数据集 - 但我想它会起作用)

ggplot(cars, aes(x=dist))+geom_bar()+facet_grid(.~speed, margin=T)

【问题讨论】:

重复:另见***.com/questions/3472980/… @naught101 明确一点 - 这个问题是在 5 月提出的,而另一个问题是在 8 月提出的。 【参考方案1】:

你可以通过给 labeller 函数自定义 facet 标签:

f <- function(x, y) 
  if (x == "speed")
    c(y[-length(y)], "Total")
  else
    y


ggplot(cars, aes(x = dist)) +
  geom_bar() +
  facet_grid(. ~ speed, margin = TRUE, labeller = f)

【讨论】:

非常感谢! - 我试过贴标机 - 但被扔掉了......这非常有帮助。我的最终解决方案需要粘贴: f

以上是关于如何使用 facet 和 margin=TRUE 更改 ggplot 中的 strip.text 标签的主要内容,如果未能解决你的问题,请参考以下文章

如何通过PhantomJS触发MouseDown?

为 Algolia 搜索结果正确使用 Facets

如何使用 facet_grid 和文本位置更改直方图的颜色?

Solr中Facet用法和Group用法

如何将循环与 geom_vline 和 facet_wrap 一起使用?

如何使用 ggplot_build 和 ggplot_gtable 调整 facet_grid 框架和箱线图之间的距离