r - 将 X 轴标签与 X 轴上的第一个刻度文本左对齐
问题描述
考虑以下示例,
library(ggplot2)
dat <- data.frame(number = c(5, 10, 11 ,12,12,12,13,15,15))
ggplot(dat, aes(x = number)) + geom_histogram()
如何以与X 轴上第一个刻度的文本对齐的方式左对齐 X 轴的标签?
我正在寻找一种可以轻松推广到其他地块的解决方案。
解决方案
创建绘图对象后,我们可以获得第一个刻度标签的位置
p <- ggplot(dat, aes(x = number)) +
geom_histogram()
i1 <- ggplot_build(p)$layout$panel_ranges[[1]]$x.major[1]
#or
library(magrittr)
i1 <- p %>%
ggplot_build %>%
extract2("layout") %>%
extract2("panel_ranges") %>%
extract2(1) %>%
extract2("x.major") %>%
extract(1)
然后在theme
. 如有必要,最好看看并调整
p +
theme(axis.title.x = element_text(hjust = i1- 0.01))
推荐阅读
- javascript - Firestore如何停止Transaction?
- gstreamer - GStreamer 预录
- java - org.springframework.web.bind.MissingServletRequestParameterException,tomcat 无法获取日期
- java - 将 HEX 颜色转换为 BitmapDescriptorFactory.defaultMarker 方法的浮点颜色
- php - 当从 phpunit 调用时,laravel 中的 $request->all() 返回空
- angular - Angular dart - 选择对象作为模型(不是字符串)
- android - 我的测试版应用程序上没有兼容的设备
- node.js - 温斯顿每日轮换删除 .GZIP 文件
- angularjs - 调试第三方 AngularJS 代码
- php - 在php中使用月份名称和年份对数组进行排序