我希望顶部的灰色条更宽,因为它的边缘距离字母的顶部和底部稍远一些(strip.text - A,B,C等)。我原本以为行高会起到填充的作用,但事实并非如此。
ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE)+
facet_wrap(~ color) +
theme(strip.text = element_text(lineheight=20))
答案 0 :(得分:24)
首先,修改级别,使其包含换行符:
levels(diamonds$color) <- paste0(" \n", levels(diamonds$color) , "\n ")
然后根据需要进行调整。例如:
P <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE)+
facet_wrap(~ color)
P + theme(strip.text = element_text(size=9, lineheight=0.5))
P + theme(strip.text = element_text(size=9, lineheight=3.0))
答案 1 :(得分:1)
使用ggplot2
2.2.0,您可以使用labeller
在不修改数据框的情况下应用里卡多的技巧:
P <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE)+
facet_wrap(~ color, labeller = labeller(color=setNames(paste0("\n", levels(diamonds$color), "\n"), levels(diamonds$color))))
P + theme(strip.text = element_text(size=9, lineheight=0.5))