在 r ggplot2 中,如何通过特定值调整 'alpha' 值?

In r ggplot2, how can i adjust 'alpha' value by specific value?

在 r ggplot2 中,如何通过特定值调整 'alpha' 值? 作为打击代码,“alpha = region”可以自动更改系列的alpha值,但我想为不同的系列分配不同的alpha值。 我试过“alpha=c(0.1,0.2,0.3)”,这是行不通的。任何人都可以帮忙吗?谢谢!

library(ggplot2)
library(tidyverse)


mydate <- rep(seq.Date(from=as.Date('2021-1-1'),to=as.Date('2021-1-20'),by="1 day"),3)
region <- c("A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C")
sales <- c(22,24,5,5,19,23,1,13,19,19,25,26,8,29,23,21,13,30,6,25,57,50,51,48,48,40,40,47,55,59,57,41,60,52,57,55,42,52,58,43,97,98,88,90,83,90,84,96,95,98,89,80,99,84,83,80,93,82,83,97)
plot_data <- data.frame(mydate,region,sales)
plot_data$region <- factor(plot_data$region,levels=c("A","B","C"))



plot_data %>% ggplot(aes(x=mydate,y=sales,
                         color=region,
                         alpha=region))+
  geom_line()+theme_bw()

您将需要使用 scale_alpha_manual()

library(ggplot2)
library(tidyverse)

mydate <- rep(seq.Date(from=as.Date('2021-1-1'),to=as.Date('2021-1-20'),by="1 day"),3)
region <- c("A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","B","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C","C")
sales <- c(22,24,5,5,19,23,1,13,19,19,25,26,8,29,23,21,13,30,6,25,57,50,51,48,48,40,40,47,55,59,57,41,60,52,57,55,42,52,58,43,97,98,88,90,83,90,84,96,95,98,89,80,99,84,83,80,93,82,83,97)
plot_data <- data.frame(mydate,region,sales)
plot_data$region <- factor(plot_data$region,levels=c("A","B","C"))

plot_data %>% ggplot(aes(x=mydate,y=sales,
                         color=region,
                         alpha=region))+
   geom_line()+theme_bw()+
   scale_alpha_manual(values=c(0.1,0.2,0.3))