簡體   English   中英

scale_fill_manual()不會更改圖例上的顏色嗎?

[英]scale_fill_manual() will not change colors on legend?

當我對scale_fill_manual()使用scale_fill_manual()並指定某些值時,圖例上的值都代表黑色形狀,而不是我在代碼中指定的值。 因此,例如,如果我指定scale_fill_manual(values = c("red",NA)) ,則希望圖例顯示紅色形狀和黑色未填充形狀,但兩個形狀均為黑色。 無論如何以這種方式自定義圖例?

日期數據:

c(12/31/2020,12/31/2021,12/31/2022,12/31/2023,12/31/2024,12/31/2025,12/31/2026
12/31/2027,12/31/2028,12/31/2029,12/31/2030,12/31/2031,12/31/2032,12/31/2033
12/31/2034,12/31/2035,12/31/2036,12/31/2037,12/31/2038,12/31/2039,12/31/2040
12/31/2041,12/31/2042,12/31/2043,12/31/2044,12/31/2045,12/31/2046,12/31/2047
12/31/2048,12/31/2049,12/31/2050,12/31/2051,12/31/2052,12/31/2053,12/31/2054
12/31/2055,12/31/2056,12/31/2057,12/31/2058,12/31/2059,12/31/2060,12/31/2061
12/31/2062,12/31/2063,12/31/2064,12/31/2065,12/31/2066,12/31/2067,12/31/2068
12/31/2069)

示例代碼和輸出:

dat <- read.csv("Dates.csv")
a <- data.frame(date = dat[1:15,1],income = c(rep(10000,5),rep(40000,5),rep(100000,5)),
                family = c(rep("true",5),rep("false",5),rep("NA",5)),
                status = c(rep("low",5),rep("medium",5),rep("high",5)),
                state = c(rep("TX",5),rep("PA",5),rep("CA",5)))
a$date <- as.Date(a$date,format = "%m/%d/%Y")
ggplot(a,aes(x = date,y = income)) +
  geom_point(aes(color = state,fill = status,shape = family),size = 1) +
  scale_fill_manual(values = c("red","green",NA)) +
  scale_color_manual(values = c("red","green","brown")) + 
  scale_shape_manual(values = c(22,21,25))

結果:

在此處輸入圖片說明

問題:

為什么所有形狀的圖例的填充部分(狀態)都是黑色的? 如何修復/定制該零件?

圖例看起來仍在使用默認的點形狀。 將其添加到代碼末尾以覆蓋它:

+  guides(fill = guide_legend(override.aes = list(shape = 21)))

暫無
暫無

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

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