我有一个时间序列数据,其中测量值都是 1e6 和 1e8 之间的整数:每月网站点击量。我想使用 ggplot2 用点和线绘制这些图表,但将测量值映射到对数刻度。像这样的东西:
qplot(month, hits, data=hits.per.month, log="y")
当我这样做时,ggplot 似乎将比例设置为从 1e6 到 1e8。我希望它从 0 缩放到 1e8。这样做的自然方式似乎对输出没有影响:
qplot(month, hits, data=hits.per.month, log="y", ylim=c(0, 100000000))
我可以通过在到达 qplot 之前转换点击来获得我想要的图片,但这会改变轴上的标签:
qplot(month, log10(hits), data=hits.per.month, log="y", ylim=c(0, 8))
我还尝试了与
scale_y_log10
的各种组合,但没有运气。那么,在 ggplot2 中使用对数刻度时如何设置 Y 轴范围?
最佳答案
大部分 ggplot2 如果不使用 qplot
对我来说更清楚.这样你就不会把所有东西都塞进一个函数调用中:
df <- data.frame(x = 1:10,
y = seq(1e6,1e8,length.out = 10))
ggplot(data = df,aes(x = x, y =y)) +
geom_point() +
scale_y_log10(limits = c(1,1e8))
我将假设您并不是真的意味着 y 轴最小值为 0,因为在对数刻度上,嗯,这是有问题的。
关于r - 使用对数刻度时,如何在 ggplot2 中设置轴范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9231885/