我有如下所示的数据
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轴超出了给定的值。
ggplot(mydata, aes(x=x, y=y, fill=z)) + 
  geom_bar(stat='identity')+
  scale_x_log10()+
  scale_y_continuous()发布于 2022-03-31 18:34:27
我们可以这样做:
在绘制到x之前,在数据文件中转换log10,然后转换为factor类并设置width 1:
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)

https://stackoverflow.com/questions/71696489
复制相似问题