我有多行x轴标签,我想左调整内的标签(这样两行的左边就在同一个缩进处),但要在轴tick下面居中放置。如果我使用theme(axis.text = element_text(hjust = 0)),文本行被适当地缩进到相同的级别但是定位在滴答声的右边(见MWE)。我如何让它们定位在滴答声的正下方?
library(ggplot2)
library(stringr)
## Create a sample data frame
df <- data.frame(x = 1:5,
y = c(2, 4, 3, 5, 6),
label = c("Line 1 Label", "Line 2 Label is a bit longer",
"Line 3 Label is even longer than the previous one",
"Line 4 Label is not so long", "Line 5 Label"))
## Wrap the label text with str_wrap()
df$label <- str_wrap(df$label, width = 15)
## Create the plot
ggplot(df, aes(x, y)) +
geom_point() +
scale_x_continuous(breaks = 1:5, labels = df$label) +
theme(axis.text.x = element_text(hjust = 0))
1条答案
按热度按时间bvk5enib1#
一个选项是使用
ggtext::element_markdown
,除了hjust
对齐轴文本的整个边框外,还有一个额外的参数halign
来对齐框内的轴文本,即我们可以使用hjust=.5
将框居中,并使用halign=0
左对齐文本: