R:使用 ggthemes::extended_range_breaks() 更改 ggplot2 中的刻度数
R: Change number of ticks in ggplot2 with ggthemes::extended_range_breaks()
假设以下 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 之间的 space 太大,我希望在 2.0 处有另一个刻度。有人知道在使用 extended_range_breaks 时如何做到这一点,还是我必须切换到手动设置刻度?
我试过scale_y_continuous(n.breaks = 7)
和scale_y_continuous(breaks = extended_range_breaks(n = 7)(df$y)
,但都没有效果。
不是一个完美的答案,但至少 work-around 目前:更改应用于四个优化组件的权重。为了简单、覆盖面、密度和易读性,参数设置为 w = c(0.25, 0.2, 0.5, 0.05)
。例如,如果我们将覆盖率设置为 2(对于 y-axis),图形将变为以下内容:
简单添加 (-2,2)
的实际预期目标尚未通过此调整实现。
假设以下 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 之间的 space 太大,我希望在 2.0 处有另一个刻度。有人知道在使用 extended_range_breaks 时如何做到这一点,还是我必须切换到手动设置刻度?
我试过scale_y_continuous(n.breaks = 7)
和scale_y_continuous(breaks = extended_range_breaks(n = 7)(df$y)
,但都没有效果。
不是一个完美的答案,但至少 work-around 目前:更改应用于四个优化组件的权重。为了简单、覆盖面、密度和易读性,参数设置为 w = c(0.25, 0.2, 0.5, 0.05)
。例如,如果我们将覆盖率设置为 2(对于 y-axis),图形将变为以下内容:
简单添加 (-2,2)
的实际预期目标尚未通过此调整实现。