1

假设以下 MWE:

library(ggplot2)
library(ggthemes)

set.seed(100)
df <- data.frame(x = rnorm(50), y = rnorm(50))

ggplot(df, aes(x,y)) +
  geom_point() +
  theme_tufte() +
  geom_rangeframe() +
  scale_x_continuous(breaks = extended_range_breaks()(df$x),
                     labels = scales::number_format(accuracy = 0.1))+
  scale_y_continuous(breaks = extended_range_breaks()(df$y),
                     labels = scales::number_format(accuracy = 0.1))

在此处输入图像描述

从我的角度来看,y 轴上的刻度数不够,1.0 和 2.9 之间的空间太大,我想在 2.0 再有一个刻度。任何人都知道在使用 extended_range_breaks 时如何做到这一点,或者我是否必须切换到手动设置刻度?

我试过了scale_y_continuous(n.breaks = 7)scale_y_continuous(breaks = extended_range_breaks(n = 7)(df$y)但两者都没有效果。

4

1 回答 1

0

不是一个完美的答案,但至少现在是一种解决方法:更改应用于四个优化组件的权重。参数设置w = c(0.25, 0.2, 0.5, 0.05)为简单、覆盖范围、密度和易读性。例如,如果我们将覆盖率设置为 2(对于 y 轴),则图表将变为以下内容:

在此处输入图像描述

(-2,2)通过此调整,您还无法实现简单添加的实际期望目标。

于 2020-08-03T12:48:49.123 回答