当文本具有不同字符数时右对齐 y 轴文本
Right align y-axis text when text has different number of characters
我想绘制一个没有 y 轴刻度的绘图,并将 y 轴文本放置在尽可能靠近绘图的位置。
因此我在 theme()
中使用 axis.text.y = element_text(hjust = 2)
,但请注意,因为标签范围从 0
到 40
,所以 0
值最终在情节而其他标签没有。
一个可重现的小例子:
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
scale_y_continuous(limits=c(0,40)) +
theme(axis.ticks = element_blank(),
axis.text.y = element_text(hjust = 2))
是否可以将 0
与所有其他值的位置对齐?
试试这个:
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
scale_y_continuous(limits=c(0,40)) +
theme(axis.ticks = element_blank(),
axis.text.y = element_text(hjust = 1, margin = margin(0,-3,0,0))
)
修改margin
以获得想要的结果
我想绘制一个没有 y 轴刻度的绘图,并将 y 轴文本放置在尽可能靠近绘图的位置。
因此我在 theme()
中使用 axis.text.y = element_text(hjust = 2)
,但请注意,因为标签范围从 0
到 40
,所以 0
值最终在情节而其他标签没有。
一个可重现的小例子:
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
scale_y_continuous(limits=c(0,40)) +
theme(axis.ticks = element_blank(),
axis.text.y = element_text(hjust = 2))
是否可以将 0
与所有其他值的位置对齐?
试试这个:
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() +
scale_y_continuous(limits=c(0,40)) +
theme(axis.ticks = element_blank(),
axis.text.y = element_text(hjust = 1, margin = margin(0,-3,0,0))
)
修改margin
以获得想要的结果