首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中,使用ggplot + geom_bar,如何改变条形图的宽度?

在R中,使用ggplot + geom_bar,如何改变条形图的宽度?
EN

Stack Overflow用户
提问于 2015-12-24 09:26:47
回答 1查看 5.6K关注 0票数 2

我可以使用以下命令生成一个具有可变边框宽度的条形图

代码语言:javascript
复制
byA<-barplot(table(A),width=B$length, space = 0,col="black")

我如何使用ggplot做同样的事情呢?

我已经尝试过了:

代码语言:javascript
复制
ggplot(data.frame(table(A)), aes(x=B$Start, y=Freq, width=B$length)) + 
  geom_bar(aes(fill=B$length), stat="identity", position="identity")

如何去掉条形之间的空格,并将它们的位置从0开始,而不是居中在x标记上?(我猜这可能会让我得到同样的条形图。)注:我更喜欢第二个图中的x轴值,所以这没问题。

以下是我的数据的前20行:

代码语言:javascript
复制
    bin           Freq
1   [0,0.78)        9
2   [0.78,0.99)     1
3   [0.99,1.07)     1
4   [1.07,1.201)    1
5   [1.201,1.211)   0
6   [1.211,1.77)    3
7   [1.77,1.95)     0
8   [1.95,2.14)     2
9   [2.14,2.15)     0
10  [2.15,2.581)    0
11  [2.581,3.04)    4
12  [3.04,3.11)     0
13  [3.11,3.22)     0
14  [3.22,3.33)     1
15  [3.33,3.58)     3
16  [3.58,4.18)     8
17  [4.18,4.29)     2
18  [4.29,4.48)     4
19  [4.48,4.62)     4
20  [4.62,4.8)      3
EN

Stack Overflow用户

发布于 2015-12-25 13:05:53

通过在stat_bin中使用breaks参数,您可以构建您正在寻找的图。

代码语言:javascript
复制
# We'll use the diamonds data set within ggplot2 for an example
library(ggplot2)

# Set breaks for the bars.  The bins are:
# 1st bin: [0, 100), centered at 50
# 2nd bin: [100, 500), centered at 300
# 3rd bin: [500, 1000), 
# 4th bin: [1000, 2000), 
# 5th bin: [2000, 5000), 
# etc.
# 
# to have (a, b] style intervals use the argument right = TRUE in the stat_bin
# call.
brks <- c(0, 100, 500, 1000, 2000, 5000, 7500, 10000, max(diamonds$price))

ggplot(diamonds, aes(x = price)) + 
geom_bar() + 
stat_bin(breaks = brks)

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34446099

复制
相关文章

相似问题

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