r - 使用对数刻度时,如何在 ggplot2 中设置轴范围?

标签 r ggplot2

我有一个时间序列数据,其中测量值都是 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))

enter image description here

我将假设您并不是真的意味着 y 轴最小值为 0,因为在对数刻度上,嗯,这是有问题的。

关于r - 使用对数刻度时,如何在 ggplot2 中设置轴范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9231885/

相关文章:

r - 连续 y 轴刻度中的真负号

r - ..level.. 在 ggplot2 等高线图中

R:循环遍历 csv 文件列表以更改日期格式并创建 XTS 对象

r - 在不规则网格上绘制轮廓

r - ggplot2 堆积条形图 : each bar is one colour, 堆积组使用 alpha 显示

r - 获取R中一组点的上凸包

r - ggplot 函数在图例下方添加文本

r - 从 R 中的数字和字母列表中分离多个数字

r - Gamma GLM : NaN production and divergence errors

r - 使用 dplyr 将开始和结束日期扩展到不平衡的月度面板