我正在尝试在 ggplot2 中创建一个散点图,它具有通常的数字轴标签,但它下面的一些帮助文本解释了在图上更靠左或更靠右的含义。问题是我想同时包含箭头和换行符,但我似乎无法同时执行这两项操作,同时将轴标签居中于网格线下方。
也许我的处理方式是错误的,并且有一个更简单的解决方案,但这就是我到目前为止所拥有的。
成功将标签包含在轴文本下方,居中:
library(ggplot2)
data(cars)
ggplot(data=cars,aes(x=speed,y=dist))+
geom_point() +
scale_x_continuous(name="",labels=c("5\nLower speed","15","25\nHigher speed"),breaks=c(5,15,25))
成功在轴文本中添加箭头,居中:
ggplot(data=cars,aes(x=speed,y=dist))+
geom_point() +
scale_x_continuous(name="",labels=c(expression(""%<-%"5"),"15",expression("25"%->%"")),breaks=c(5,15,25))
尝试将两者结合起来,但它没有居中:
ggplot(data=cars,aes(x=speed,y=dist))+
geom_point() +
scale_x_continuous(name="",labels=c(expression("5\n"%<-%"Lower speed"),"15",expression("25\nHigher speed"%->%"")),breaks=c(5,15,25))
将 hjust=0.5 添加到主题中的 axis.text.x 没有帮助。
有什么建议吗?
一种选择是使用 unicode 符号来添加箭头:
library(ggplot2)
data(cars)
ggplot(data = cars, aes(x = speed, y = dist)) +
geom_point() +
scale_x_continuous(
name = "",
labels = c("\u2190 5\nLower speed", "15", "25 \u2192\nHigher speed"),
breaks = c(5, 15, 25)
)