首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在ggplot2中缩小酒吧之间的差距?

有没有办法在ggplot2中缩小酒吧之间的差距?
EN

Stack Overflow用户
提问于 2022-03-31 16:58:16
回答 1查看 82关注 0票数 1

我有如下所示的数据

代码语言:javascript
运行
复制
mydata <- data.frame(size=c("0-1","1-2","2-4","4-8","8-16","16-32","0-1","1-2","2-4","4-8","8-16","16-32"),
                     x=c(0.7,1.41,2.83,5.65,11.31,22.63,0.7,1.41,2.83,5.65,11.31,22.63),
                     y=c(0.05,0.3,0.15,0.25,0.2,0.05,0.05,0.2,0.25,0.3,0.15,0.05),
                     z=c("A","A","A","A","A","A","B","B","B","B","B","B"))

我想在原木尺度上制作一个堆叠的条形图,因为你可以看到它们是相等间距的。使用下面的代码,我得到了想要的情节,但在栏之间有空白。没有这样的差距,我怎么能得到这个情节呢?我尝试了width=1,但是x轴超出了给定的值。

代码语言:javascript
运行
复制
ggplot(mydata, aes(x=x, y=y, fill=z)) + 
  geom_bar(stat='identity')+
  scale_x_log10()+
  scale_y_continuous()
EN

回答 1

Stack Overflow用户

发布于 2022-03-31 18:34:27

我们可以这样做:

在绘制到x之前,在数据文件中转换log10,然后转换为factor类并设置width 1:

代码语言:javascript
运行
复制
mydata %>% 
  mutate(log10_x = round(log10(x),2),
         log10_x = as.factor(log10_x)) %>% 
  ggplot(aes(x= log10_x, y=y, fill=z)) +
           geom_col(width = 1)

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

https://stackoverflow.com/questions/71696489

复制
相关文章

相似问题

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