在R中使特定条的颜色比其他条更纯色

yhived7q  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(83)

我正在创建一个考虑两年和一组国家的条形图。为此,我使用ggplot包中的geom_bar函数。我只想突出显示特定国家的颜色。有办法做到吗?
下面是一个图表的例子,它与我正在做的类似:

Panel <- read.dta("http://dss.princeton.edu/training/Panel101.dta")
Panel$y = Panel$y / 1000000

Panel %>%
  filter(year %in% c(1990, 1991)) %>% 
  ggplot(mapping = aes(x = country, y = y, fill = as.factor(year))) +
  geom_bar(stat = 'identity',
           position = 'dodge2', colour = 'white') +
  scale_fill_manual(values = c('#001d87', '#d9912e')) +
  labs(fill = 'Year', x = 'Country') +
  theme_classic()

目标是突出显示国家C的颜色,例如,通过使这个国家的颜色与其他国家相比更坚固,可以区分这个国家而不影响图例。我想突出颜色,而不仅仅是边界。我感谢任何帮助!

b1zrtrql

b1zrtrql1#

你可以像这样用alpha来突出显示你想要的国家

Panel <- read.dta("http://dss.princeton.edu/training/Panel101.dta")
Panel$y = Panel$y / 1000000

Panel %>% mutate(country_alpha=ifelse(country %in% c("C"),1,0.5)) %>% 
  filter(year %in% c(1990, 1991)) %>% 
  ggplot(mapping = aes(x = country, y = y, fill = as.factor(year), alpha=country_alpha)) +
  geom_bar(stat = 'identity',
           position = 'dodge2', colour = 'white') +
  scale_fill_manual(values = c('#001d87', '#d9912e')) +
  labs(fill = 'Year', x = 'Country') +
  theme_classic()

相关问题