簡體   English   中英

geom_bar 精確綁定到 x 和 y 軸(沒有聚合)

[英]geom_bar tied exactly to x and y axis (without aggregating)

我有一個帶有列“x”、“y”和普通行(“x”和“y”可以被視為數字集合)的數據框。 我想要的只是繪制一個條形圖,其中 x 與“x”相連,y 與“y”相連。 嘗試使用geom_bar(stat='identity')但它產生了出乎我意料的結果 - 正如我發現它總結了對應於條形 x 值的所有 y 值。 嘗試使用stat_identity(geom='bar')結果很好,但出現了一個問題:我不知道如何為stat_identity設置固定alpha (似乎它會自動綁定到對應於 bar 的樣本數量x 值)。 以下是示例:

ggplot() +
    geom_bar(data = xs, aes(x, y), stat = "identity", alpha = 0.5)

在此處輸入圖片說明

ggplot() +
    stat_identity(data = xs, aes(x, y), geom = "bar", alpha = 0.5)

在此處輸入圖片說明

所以,再一次,目標是繪制一個條形圖,其中 x 與 "x" 相連,y 與 "y" 相連 因此,第二個示例解決了它,但是alpha參數存在問題。

更新:可以在此處找到帶有測試數據的文件。 或者像GitHub的要點

問題是您想要對包含y中單個x多個觀察值的數據執行bar_plot
使用geom_bar它只是對值求和(分箱)。
當您使用stat_identity它不會求和,但會保留每個值的出現次數信息。 因此,極端值的 alpha 設置為低得多的值(0 和 10 每個只有一個觀察值)。

因此,如果您想獲得類似於使用stat_identity獲得的stat_identity ,則需要刪除有關出現次數的信息。 這很容易,因為您只有一個值的重復。

ggplot(data = xs[!duplicated(xs),], aes(x=x, y=y)) +
  geom_bar(stat = "identity")

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM