我正在尝试创建一个线图,其中x轴实际上是一个因素 . 我希望刻度线标签是单词,我希望它们垂直显示而不是水平显示 .
搜索后,我已经能够创建一个图表,其中轴标签旋转90度,但这不是我想要的 .
下面提供了一个玩具示例:
library(ggplot2)
df <- data.frame(x = 1:5, y = sample(1:10, 5, TRUE))
ggplot(aes(x, y), data = df) + geom_line() +
scale_x_continuous(breaks = 1:5, labels = c('foo', 'bar', 'baz', 'phi', 'fum')) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5))
而不是像'foo'这样的标签以90度角放置,我希望它们被呈现为
f
o
o
等等
感谢您提供任何建议 . 我意识到这可以使用基础R中的 plot()
函数来完成,但出于与我的实际数据相关的原因,我使用 ggplot
进行设置 .
2 回答
升级评论以回答 .
解决方法是使用换行符分隔符定义标签 .
\n
强制将下一个字符放到新行上 .你的榜样
EDIT
按照巴普蒂斯特的评论,一个更简洁的方法是定义标签
这没有第一个和尾随的分隔符 .
gsub
行在每个字母之间插入\n
.这产生了
我不希望在每个单词之前和之后插入分隔符,但不知道正则表达式 - 请随时更新 .
没有回答你的具体例子,但更自然的情况是自动生成标签(离散比例),