相关疑难解决方法(0)

ggplot2:如何从多行方面标签左对齐文本?

我正在使用facet_grid()来显示一些数据,并且我有多个文本行的标签(它们包含"\n"字符).

require(ggplot2)

#Generate example data
set.seed(3)
df = data.frame(facet_label_text = rep(c("Label A",
                                         "Label B\nvery long label",
                                         "Label C\nshort",
                                         "Label D"),
                                       each = 5),
                time = rep(c(0, 4, 8, 12, 16), times = 4),
                value = runif(20, min=0, max=100))

#Plot test data
ggplot(df, aes(x = time, y = value)) +
    geom_line() +
    facet_grid(facet_label_text ~ .) +
    theme(strip.text.y = element_text(angle = 0, hjust = 0))
Run Code Online (Sandbox Code Playgroud)

因此,通过使用hjust = 0参数,我可以将facet标签文本作为一个单元进行左对齐.

在此输入图像描述

我想做的是左对齐每个单独的文本行.因此,"标签B"和"非常长的标签"都沿着左侧对齐,而不是相对于彼此居中(对于"标签C"和"短"而言也是如此).这可能在ggplot2中吗?在此先感谢您的帮助.

r ggplot2

15
推荐指数
3
解决办法
5401
查看次数

标签 统计

ggplot2 ×1

r ×1