簡體   English   中英

如何在ggplot中的同一圖例上合並顏色和填充aes

[英]How to merge color and fill aes on same legend in ggplot

我正在嘗試制作一個圖表,我需要在同一個圖例上結合填充和顏色。 我最接近實現這一點的是下面的示例,但它在線條周圍引入了一個正方形(參見下面的圖例以了解 pce)。 我已經研究了將顏色和形狀的圖例組合成一個圖例,以及如何在 ggplot 中合並顏色、線條樣式和形狀圖例,但它們的解決方案似乎不適用於填充和顏色。 在這種情況下,我得到這個圍繞線的正方形(參見下面的圖例)。 我也不希望將它們全部作為答案中建議的正方形,以將合並顏色和填充圖例合並為一個

library(tidyverse)



econ_names <-c(
  "pce",    
  "pop",    
  "psavert",
  "uempmed",
  "unemploy"
  
)



some_fills <- c(NA, "#FFB400", "#FF4B00", "#65B800", "#00B1EA")
some_cols <- c("#003299", rep(NA,4))



names(some_fills)<- econ_names
names(some_cols)<- econ_names


ggplot(data = economics_long,aes(date,value01,col = variable,fill = variable))+
  geom_col(data = subset(economics_long,variable!="pce"))+
  geom_line(data = subset(economics_long,variable=="pce"), size = 1.05)+
  scale_colour_manual(values = some_cols)+
  scale_fill_manual(values = some_fills)+
  theme_minimal()

reprex package (v1.0.0) 於 2021 年 3 月 19 日創建

這可以通過如下設置列的線型來解決:

ggplot(data = economics_long,aes(date,value01,col = variable,fill = variable))+
  geom_col(data = subset(economics_long,variable!="pce"), linetype = 0)+
  geom_line(data = subset(economics_long,variable=="pce"), size = 1.05)+
  scale_colour_manual(values = some_cols)+
  scale_fill_manual(values = some_fills)+
  theme_minimal() 

產生

輸出圖

暫無
暫無

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

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