繁体   English   中英

ggplot2中geom_bar的alpha和dodge

[英]alpha and dodge for geom_bar in ggplot2

下午好。

我在尝试使用ggplot2绘制条形图时遇到问题:我想在同一直方图上绘制3个不同颜色的变量。 为此我使用geom_bar ,其特定灰度级别归因于每个变量。我使用position=position_dodge(width=0.75)来覆盖条形并使用alpha=0.85来创建透明度。 但是,我无法弄清楚为什么最后一个变量看起来在第二个变量之上。我希望第一个变量覆盖第二个变量(原样),第二个变量覆盖第三个变量(这是问题)这里)。 什么控制每个变量的“深度”,有没有办法改变这个? 直方图显示我的3个变量,如你所见,黑色变量出现在深灰色变量的顶部(这很好)但是浅灰色变量也出现在深灰色变量的顶部(而不是在它下面)

非常感谢。

据我所知,问题来自position=position_dodge

在此处指定中心之间的距离小于条形的宽度。 您应该尝试使用position="dodge"

虽然我仍然不知道你的问题的正确答案,但我对这个主题感兴趣,并测试了一些不同颜色和宽度的数据。

在我的情况下,第三个酒吧覆盖了第二个,第二个酒吧覆盖了第一个酒吧。 一个棘手的部分是,如果不添加线条颜色(或减小宽度),很难分辨哪一个覆盖哪个。 我想有可能实际上你的第三个酒吧覆盖了第二个,第二个酒吧就像我的情况一样覆盖了第一个酒吧。

请尝试在geom_bar()函数中添加colour="black" ,并查看重叠顺序是否与您的想法相同。

在此输入图像描述

在此输入图像描述

在此输入图像描述 在此输入图像描述

好吧,对于那些在同样问题上挣扎的人,我最终找到了这种方式。 列的顺序(水平)由三个变量的名称按字母顺序确定(在我的情况下,“F”是第一个条形,“N”是第二个条形,“XFe”是最后一个条形)但深度每个变量的数量取决于它们在数据集中的出现顺序,其中第一个变量显示为后面最多的条形,最后一个出现的变量是前面最多的条形(例如,参见附图,我将相同颜色到3变量使其更明显)。 在我的原始版本中,我的变量在数据集中的出现顺序是“N”,“F”和“XFe”,这是我更改数据集顺序时发生的情况:

重新组织数据集的版本,使变量的外观顺序为“F”,“N”和“XFe”

数据集中变量外观为“F”,“XFe”和“N”的版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM