ggplot2标题和副标题之间的线条

3
有没有一种方法可以在ggPlot的标题和副标题之间包含一条线,类似于分隔符?我知道如何为标题颜色着色 (请参见帖子)。

3
可以这样调整,虽然并不是非常完美: ggtitle("我的标题\n_______________________________________________", "我的副标题") - Stéphane Laurent
2个回答

3

一个可能的解决方案是手动使用geom_segment跟踪一个线段,同时在coord_cartesian上设置clip = "off"

df <- data.frame(x = 1:10,
                 y = 2:11)

ggplot(df, aes(x = x, y = y))+
  geom_point()+
  labs(title = "Main Title", subtitle = "Subtitle")+
  coord_cartesian(clip ="off")+
  geom_segment(x =0.5, xend = 2.5, y = 12.1, yend = 12.1)

enter image description here

您需要根据要绘制的数据调整位置,但这是一种可能的解决方案。


谢谢您的评论!对于单个图表非常有效。我是否正确地假设在主题中没有包含此分隔符的解决方案? - Nico
1
不客气 ;) 就你的问题,据我所知,我认为不会(但也许我错了)。 - dc37

1

另一种选择是仅仅在您的主标题下方加下划线。

library(ggplot2)
df <- data.frame(x = 1:10,
                 y = 2:11)
ggplot(df, aes(x = x, y = y)) + 
  geom_point() +
  labs(title = ~ underline("Main Title"), subtitle = "Subtitle")

相关主题: 如何在绘图标题或标签中添加下划线?(ggplot2)

你也可以像用户Stephane Laurent在评论中建议的那样进行尝试,即在换行后粘贴一些空格来实现解决方案。

2020年4月22日创建,使用 reprex package (v0.3.0)。


1
感谢您的贡献。不幸的是,我没有找到一种以动态方式将这些解决方案合并的方法。无论如何,或许在 ggPlot 的未来更新中,可以考虑类似的解决方案。 - Nico

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接