如何使用 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 标签的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 facet_grid 和文本位置更改直方图的颜色?