在ggplot中为r中一行中的每个唯一值创建绘图

在ggplot中为r中一行中的每个唯一值创建绘图,r,loops,ggplot2,iteration,purrr,R,Loops,Ggplot2,Iteration,Purrr,我有这样一个数据帧: library(tidyverse) my_data <- tibble(name = c("Justin", "Janet", "Marisa"), x = c(100, 50, 75), y = c(2, 3, 6)) 库(tidyverse) my_data我们可以先获取长格式的数据,然后为每个人创建绘图 library(tid

我有这样一个数据帧:

library(tidyverse)

my_data <- tibble(name = c("Justin", "Janet", "Marisa"),
                  x = c(100, 50, 75),
                  y = c(2, 3, 6))
库(tidyverse)

my_data我们可以先获取长格式的数据,然后为每个人创建绘图

library(tidyverse)
long_data <- my_data %>% tidyr::pivot_longer(cols = -name, names_to = 'col')

plots_list <- map(unique(my_data$name), ~long_data %>%
                   filter(name == .x) %>%
                   ggplot() + aes(name, value, fill = col) + 
                   geom_bar(stat = 'identity', position = 'dodge') + 
                   scale_fill_manual(values = c('red', 'blue')) + 
                   ggtitle(paste0('Plot for ', .x)))

对不起,我应该说得更清楚些——我想要3个情节。一张给Janet,一张给just,一张给marisaSo每个人都有相同的条形图?或者你想有刻面吗?不是刻面——每个人都有相同的条形图,理想情况下每个人都有自己的对象
plots_list[[1]]