[英]Add Color to Positive and Negative Horizontal Bar Chart
我想創建一個圖表來表示預計收入與個人收入比較,但我不確定該怎么做。 目標是將負差繪制為紅色豎線,將正差繪制為黑色。
ggplot(appts2,
aes(Provider, Difference),
main = "Difference in Projected vs Actual Revenue") +
geom_bar(fill = ifelse(appts2$Difference < 0, "red", "black"), stat = 'identity') +
coord_flip()
可以,但是無法正確着色。
Provider Revenue Visits Ave Total Add Ons Total Scheduled Total Seen Total Not Seen TotalBatchVisits ProjectedRevenue Difference MissingRecords
Smith 40911 539 75.9 38 438 404 82 486 36887.4 -4023.6 53
Antonio 4827 63 76.62 7 88 60 35 95 7278.9 2451.9 -32
Jackson 13832 171 80.89 32 155 161 20 181 14641.09 809.09 -10
Redding 23030 278 82.84 25 164 144 34 178 14745.52 -8284.48 100
您可以通過將“填充”美學設置為邏輯語句(例如Difference < 0
來完成此操作。 ggplot將根據條形小於或大於零來填充條形。
切勿在aes()
內使用$
運算符(您引用appts2$Difference
)。 而是使用裸列名稱,然后ggplot將在提供的數據集中搜索該名稱。 ggplot在繪制數據之前先對數據進行排序 ,因此為外部向量提供$
會導致其預期順序產生奇怪的沖突。
library(ggplot2)
set.seed(1)
df <- data.frame(category = letters[1:10], difference = rnorm(10))
g <- ggplot(data = df, aes(y = difference, x = category, fill = difference < 0)) +
geom_col() +
coord_flip()
print(g)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.