首页 > 解决方案 > 设置 set 参数后从 0 开始的直方图

问题描述

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

最小值: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 结束,如下所示:

在此处输入图像描述

我可以做些什么来调整直方图,使其看起来更平衡并正确绘制值?

标签: rggplot2histogram

解决方案


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

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

或放大情节的相关部分:

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

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

ggplot(mydata, aes(variable)) + 

和ggplotdata 第一个参数一样,并且aes总是在 data.frame 中搜索引用的变量(给定data参数)。


推荐阅读