簡體   English   中英

為正和負水平條形圖添加顏色

[英]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.

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