r - geom_vline + geom_text:标签垂直旋转时对齐标签
问题描述
我正在绘制ggplot
并在 x 截距上放置一些垂直标签,如下所示:
d=data.frame(date=as.Date(c("1971-09-01", "1991-12-01", "1994-12-01", "2000-01-01", "2002-08-01")),
event=c(2.6, 14.1, 30.3, 60.5, 91.3))
ggplot() +
scale_x_date(limits=as.Date(c("1970-1-1", "2010-12-31"))) +
scale_y_continuous(name="", breaks=NULL, limits=c(0,1)) +
geom_vline(data=d, mapping=aes(xintercept=date), color="blue") +
geom_text(data=d, mapping=aes(x=date, y=0, label=event),
size=4, angle=270, vjust=-0.4, hjust=7)
我的图表是这样的:
如何将2.6
第一个 x 截距上的数字与其他数字对齐?
解决方案
也许将y设置在中间(0.5 而不是 0)并且不要使用hjust:
ggplot(d, aes(x = date, y = 0.5, label = event)) +
geom_text(size = 4, angle = 270, vjust = -0.7) +
geom_vline(mapping = aes(xintercept = date), color = "blue") +
scale_x_date(limits = as.Date(c("1970-1-1", "2010-12-31"))) +
scale_y_continuous(name = "", breaks = NULL, limits = c(0, 1))
推荐阅读
- d3.js - 在 ES6 中导入和使用 d3 及其子模块的正确方法是什么?
- mediawiki - 使用自定义路由教程创建自定义端点
- c# - 表单数据名称问题
- keras - 如何在训练期间更改批量大小?
- netlogo - 如何从依赖于属性的代理集中进行选择?
- java - 2 个下拉列表的相同 ID 无法执行操作 om 2 one
- google-colaboratory - Google.colab 中的 77Giga 数据加载
- stripe-payments - 将账户与 Stripe 关联
- mongodb - 将 mongoDB 链接到 elasticbeanstalk 应用程序
- java - 添加到 SQLite 数据库时不允许重复