我正在嘗試構建一個已經給出百分比的條形圖。我認為這是一個基本問題,但我無法在互聯網上找到任何內容。我擁有的資料是這樣的:

我試圖列印的情節是這樣的:

給定overRetail和,每組條形(即每年)的條形都需要達到 100% belowRetail。我沒有任何代碼可以顯示:我最接近的是不計算百分比,而是使用絕對值。我想知道:真的是我要找的條形圖嗎?也許其他型別的情節更適合我想要展示的內容。提前致謝!
uj5u.com熱心網友回復:
使用重新整形的資料,您想要繪制的圖可能會更容易。考慮每年排一排,而不是一年排一排。
# Setup Data
require(tidyverse)
releaseDate <- 2014:2021
belowRetail <- c(24.20635, 25.09804, 35.63403, 31.06996, 27.76025, 28.59097, 31.00559, 30.89888)
overRetail <- c(75.79365, 74.90196, 64.36597, 68.93004, 72.23975, 71.40903, 68.99441, 69.10112)
retail <- tibble(releaseDate = releaseDate, belowRetail = belowRetail, overRetail = overRetail)
您可以使用 dplyr 中的 pivot_longer 來重塑資料。
retail <- pivot_longer(data = retail, cols = -releaseDate, names_to = "name")
然后,您可以使用 geom_bar,在美學 (aes) 中指定名稱。還要注意,需要添加 position = "fill" 和 stat = "identity"。第一個選項使所有條形 100%,第二個選項使用資料的值而不是默認為計數。
ggplot(data = retail)
geom_bar(aes(x = releaseDate, y = value, fill = name), position = "fill", stat = "identity")
這是它的樣子。

這是您可能想要咨詢的有用來源。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/356531.html
