gpt4 book ai didi

减少 ggplot2 中条形图组之间的空间

转载 作者:行者123 更新时间:2023-12-02 14:10:29 25 4
gpt4 key购买 nike

我无法删除 geom_plot 中条形组两侧的额外空白。

我想做罗兰在这里实现的事情:Remove space between bars ggplot2但是当我尝试实现他的解决方案时,我收到错误“警告消息:geom_bar() 不再具有 binwidth 参数。请改用geom_histogram()。”

我将这行代码添加到我的图中(尝试不同的宽度):

  geom_histogram(binwidth = 0.5) +

返回“错误:stat_bin() 不得与 y 美学一起使用。”并且没有情节。

数据:

mydf<- data.frame(Treatment = c("Con", "Con", "Ex", "Ex"),
Response = rep(c("Alive", "Dead"), times=2),
Count = c(259,10,290,21))

aPalette<-c("#009E73", "#D55E00")

剧情:

example<-ggplot(mydf, aes(factor(Response), Count, fill = Treatment)) + 
geom_bar(stat="identity",position = position_dodge(width = 0.55), width =
0.5) +
scale_fill_manual(values = aPalette, name = "Treatment") + #legend title
theme_classic() +
labs(x = "Response",
y = "Count") +
scale_y_continuous(breaks = c(0,50,100,150,200,250,275), expand = c(0,0),
limits = c(0, 260)) +
theme(legend.position = c(0.7, 0.3)) +
theme(text = element_text(size = 15)) #change all text size

example

返回: enter image description here

注意:我不知道为什么收到“警告消息:删除了包含缺失值的 1 行 (geom_bar)”。但我并不关心它,因为使用我的实际数据不会发生这种情况**编辑回复:注意 - 发生这种情况是因为我将 y 轴的限制设置为低于已删除条形的最大值。我不会更改代码,因此我不必重新绘制图形,但更改

limits = c(0, 260) 

limits = c(0, 300)

将显示所有栏。万一其他人也有类似的问题。我将找到与此问题相关的帖子,并在可以链接答案时使此编辑更加简洁

最佳答案

如果我完全错过了您在这里想要完成的任务,请原谅我,但 ggplot 包含如此多空白的唯一原因是因为您将条形限制为特定宽度并增加了图形的大小。图表内的空白是条形宽度和图表宽度的输出。

使用您的原始图表... orig graph

我们注意到有很多空白,但你们都把垃圾箱弄小了,把图表弄宽了。将空间视为垃圾箱和空白之间的折衷方案。期望一个带有小垃圾箱且没有空白的宽图是不合逻辑的。为了解决这个问题,我们可以减小图形大小或增加 bin 大小。

首先,我们通过消除限制将 bin 大小恢复到正常状态。这看起来很荒谬......

enter image description here

但是通过查看您添加的“删除条形图之间的空间 ggplot2”链接,他首先所做的是删除约束和限制宽度。这样做会产生类似的图表...

similar graph

包括上面链接中的图表...... enter image description here

并消除所有限制...... enter image description here

    example<-ggplot(mydf, aes(factor(Response), Count, fill = Treatment)) + 
geom_bar(stat="identity",position = position_dodge()) +
scale_fill_manual(values = aPalette, name = "Treatment") +
theme_bw() +
labs(x = "Response", y = "Count")

example

如果您的目标不是通过删除空格来使您的图表与链接中的图表相似,请告诉我,除此之外我希望这会有所帮助。

关于减少 ggplot2 中条形图组之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49041183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com