我正在为出版物生成图表,我希望能够在 ggplot 本身中标记图形的面板(而不是导出到出版商等),以便它们在最终文档中整齐地组合在一起。我打算通过在标题中添加一个字母(“A”)来尝试做到这一点,但我希望我的标题居中,我希望字母在左上角。
# base graph:
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species, shape = Species))+
geom_jitter(size = 6.5)+
ggtitle("A \n \n The Actual Long, Normal Title of Titliness")+
theme(plot.title = element_text(hjust = 0.5, face = "bold", size = 30),
axis.ticks = element_blank(),
legend.text = element_text(size = 25),
axis.title = element_text(size = 25, face = "bold"),
axis.text = element_text(size = 25, vjust = 0.05),
legend.position = "bottom")
现在,如果我愿意通过手动间隔每个标题来“伪造”它,我可以让它发挥作用,但这似乎既费时又粗糙。
# sloppy solution
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species, shape = Species))+
geom_jitter(size = 6.5)+
ggtitle("A \n \n The Actual Long, Normal Title of Titliness")+
theme(plot.title = element_text(hjust = 0,face = "bold", size = 30),
axis.ticks = element_blank(),
legend.text = element_text(size = 25),
axis.title = element_text(size = 25, face = "bold"),
axis.text = element_text(size = 25, vjust = 0.05),
legend.position = "bottom")
有没有办法单独调用标题的每一“行”以获得它自己的值?
还有其他创造性的解决方案吗?
此外,我在 mtext 中看到了潜力(使用表达式拆分轴标签),但无法弄清楚如何使用 ggplot2 来实现它(与基本绘图功能相比.. 似乎它们不兼容)。这篇文章很有趣(Multi-line ggplot Title With different Font Size, Face, etc),但我还是 R 新手,我不知道如何编辑这个聪明的东西来改变缩进。
谢谢!