r - 基于ggplot r中数字大小的刻度标签中小数的条件格式
问题描述
在我的 ggplot x 轴刻度标签中,我想将 0 到 1 之间的数字格式化为小数点后一位(如 0.1、0.2、0.5 等),但如果数字为 1 或更大,我只想将数字显示为一个整数 (1,2,3,4)。
我还想在最后用 X 格式化刻度标签,以表示标签是乘数。X 轴刻度标签的理想结果如下所示
0.1X 0.2X 0.5X 1X 2X 3X 4X
这是示例数据集的最小示例
set.seed(42)
data.frame(exp=rexp(100,5)*10) %>%
ggplot(aes(x=exp)) +
geom_density() +
scale_x_log10(breaks = c(0.1, 0.2, 0.3, 0.5, 1, 2, 4, 6))
我看到了这个答案,但我不知道如何使它与我的 x 轴一起工作。
解决方案
您需要 1 个有效数字,因此您可以使用signif()
:
data.frame(exp=rexp(100,5)*10) %>%
ggplot(aes(x=exp)) +
geom_density() +
scale_x_log10(breaks = c(0.1, 0.2, 0.3, 0.5, 1, 2, 4, 6),
labels = function(b) paste0(signif(b, 1), "X"))
推荐阅读
- json - Python requests.get 与 Session.get
- qt - QML VirtualKeyboard 即将出现在 Popup 之上
- django - Django Rest - 发布数据在外键引用表中创建新行
- batch-file - 批处理:如果源文件夹上的文件名包含 x,则移动到 x 目标文件夹
- google-cloud-platform - Firestore 云函数 http 请求
- javascript - 承诺不会在循环内返回
- python - 如何使用 Python 从两个绘制的图表中找到 RMSE?
- c++ - 为什么在成员初始化器列表中初始化数组时不需要括号?
- android - 如何在 Android Studio 中为图像按钮添加渐变颜色,中心颜色为最大
- java - MockMvc 不受 spring.data.web.pageable.size-parameter 参数影响