我正在嘗試制作條形圖 線圖。我的資料如下所示:
Year= c(1951, 1952, 1953, 1954, 1955, 1956)
Difference = c(-1, -2, 3, 1, -2, 1)
Total = c(-0.8, -0.7, 1.1, 2.3, 1.7, 1.6)
pos = c(TRUE, TRUE, FALSE, FALSE, TRUE, FALSE)
我pos用來分隔負值和正值以繪制不同顏色的條形圖。但問題是,這pos應該只適用于Difference. Total需要繪制為一條線,但是當我這樣做時,會出現第二條線。我的代碼是:
ggplot(df, aes(x = Year, y = Difference, fill = pos)) geom_col(position = "identity", colour = "black", size = 0.25) scale_fill_manual(values = c("#CCEEFF", "#FFDDDD"), guide = "none") geom_line(mapping = aes(x=Year, y=Total),size=1,fill='grey',fatten = 1, guide = "none")
我的結果:

如何擺脫不必要的線路?謝謝!
uj5u.com熱心網友回復:
您可以將填充美學移動到 geom_col 呼叫中。這應該是您正在尋找的
library(ggplot2)
df <- data.frame(
Year = c(1951, 1952, 1953, 1954, 1955, 1956),
Difference = c(-1, -2, 3, 1, -2, 1),
Total = c(-0.8, -0.7, 1.1, 2.3, 1.7, 1.6),
pos = c(TRUE, TRUE, FALSE, FALSE, TRUE, FALSE)
)
ggplot(df, aes(x = Year, y = Difference))
geom_col(aes(fill = pos), position = "identity", colour = "black", size = 0.25)
scale_fill_manual(values = c("#CCEEFF", "#FFDDDD"), guide = "none")
geom_line(aes(y = Total), size = 1)

由reprex 包于 2022-01-20 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/417425.html
標籤:
下一篇:在R中的一個視窗中排列兩個圖
