首页 > 解决方案 > 堆积条形图的每个条形内的多个渐变

问题描述

我无法在每个条形图中创建具有多个颜色渐变的堆叠条形图。

一些样本数据:

library(tidyverse)
library(magrittr)

df <-
    data.frame(person = rep(1:3, each = 30),
               drug_type = rep(rep(1:3, each = 10),3),
               drug = rep(1:30,times=3),
               sales_pct = rep(.033, times = 90)) %>%
    as_tibble()

有 3persons和 30 drugs,每一个都是 3 之一drug_types

我想做的是显示每种药物在每个人的销售额中所占的比例,并使用颜色在视觉上将药物分组。我正在尝试为每个人设置一个栏person,并且在每个人的栏内,每个人drug_type都有自己的调色板。因此,drug_type1将是例如蓝色2光谱、绿色光谱等。

有什么建议吗?请帮忙!

标签: rggplot2

解决方案


这就是你的想法吗?

library(tidyverse)
library(magrittr)

df <- as.tibble(data.frame(person = rep(1:10, each = 3),
         drug_type = rep(1:10, times = 3),
         sales_pct = rep(.1, times = 30))) %>% 
      mutate(person = as.factor(person),
         drug_type = as.factor(drug_type))

ggplot(df, aes(x = person)) +
  geom_bar(aes(fill = drug_type)) + 
  scale_y_continuous(limits = c(0,3)) +
  scale_fill_brewer(palette = "Spectral")

在此处输入图像描述


推荐阅读