【问题标题】:Histogram starting from 0 after setting the set argument设置 set 参数后从 0 开始的直方图
【发布时间】:2018-12-03 10:23:42
【问题描述】:

我正在尝试为具有非常不一致的值的整数变量创建直方图,这是应用于变量的汇总函数的输出:

最小值:347 第一个队列:8786 中位数:20886 平均值:69522 第三个队列:50400 最大值:4069360

所以你可以看到它的范围从 300 到 4,000,000

这是我用来创建直方图的代码:

 ggplot(data=mydata, aes(mydata$variable)) + 
  geom_histogram(aes(y =..density..), 
                 breaks=seq(300, 2000000, by = 20000), 
                 col="#00AFBB", 
                 fill="#00AFBB", 
                 alpha=.2) + 
  geom_density(col=2) + 

虽然我使用了 seq 参数并使用了不同的值,但直方图始终从 0 开始并以 4000000 结束,如下所示:

如何调整直方图使其看起来更平衡并正确绘制值?

【问题讨论】:

  • “更平衡”和“正确”绘制值是什么意思?该图按原样显示您的值。
  • 只有 7 或 8 个值高于 1000000,所以它们中的大多数实际上都小于 1000000,我想要做的是改变 x 轴的比例,所以不要从 0 开始并以400 万,但从大约 1000 到 1000000

标签: r ggplot2 histogram


【解决方案1】:

您可以对映射到 x 轴的值进行限制,从而有效地将它们过滤掉:

+ scale_x_continouous(limits=c(0, 1000000))

或放大情节的相关部分:

+ coord_cartesian(xlim=c(0, 1000000))

请注意,您的第一行可以简化为:

ggplot(mydata, aes(variable)) + 

因为data 是 ggplot 的第一个参数,aes 中引用的变量总是在data.frame 中搜索(给定data 参数)。 p>

【讨论】:

  • 非常感谢我正在寻找的东西。并且对于你的笔记也谢谢你我曾经写过你提到的方式。
猜你喜欢
  • 2019-02-22
  • 2019-10-07
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
  • 1970-01-01
  • 2022-11-20
相关资源
最近更新 更多