簡體   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