首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不连续断点直方图断点

不连续断点直方图断点
EN

Stack Overflow用户
提问于 2015-09-30 20:33:30
回答 3查看 607关注 0票数 0

如何在直方图图中设置X轴,用预定义的断点代替连续断点。

代码语言:javascript
复制
breaks=c(0,5,10,100,200,1000)

断点是根据垃圾箱范围内的频率选择的。如何实现这一点而不是breaks=c(0,5,10,15,20)连续断点?

编辑:我已经分别计算了频率并用geom_bar绘制

期望与hist图类似的输出。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-30 22:16:22

也许我不明白这个问题。但你就不能这么做吗?

代码语言:javascript
复制
x <- rnorm(1000, mean= 10, sd= 5)
range(x) # need to have the whole range of x in the histogram
hist(x, breaks= c(range(x)[1], 0, 5, 7, 12, 20, range(x)[2]))

library(ggplot2)
brks=c(range(x)[1], 0, 5, 7, 12, 20, range(x)[2])
ggplot(data.frame(x), aes(x=x)) + 
  geom_histogram(breaks= brks) + scale_x_continuous(breaks= brks)

显然,您可以为任意格式添加theme(... element_text())选项。

票数 1
EN

Stack Overflow用户

发布于 2015-09-30 23:18:44

如果你还感兴趣,也许是这样的:

代码语言:javascript
复制
library(plyr)
library(ggplot2)
library(dplyr)

data("diamonds")
head(diamonds)
c(0,1000,4000,20000) -> breaks
cut(diamonds$price, breaks = breaks) -> diamonds$newprice

diamonds %>%
  group_by(cut, newprice) %>% 
  summarise(num = n()) %>%
  as.data.frame -> newdi

ggplot(data = newdi) +
  geom_bar(aes(x = newprice, y = num, fill = cut), stat = "identity", position = "dodge") 

票数 1
EN

Stack Overflow用户

发布于 2015-09-30 22:09:12

一般来说,直方图将有相同大小的垃圾箱,因为它是作为概率分布的估计。

您可以自己进行计数聚合,然后利用geom_bar()创建带有特定bin间隔的条形图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32875118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档