如何绘制地块并为每个地块指定名称

How to draw plots and have specific name for each plot

我绘制的地块存储在列表mp中,如何使mp[["A"]]地块标题为A_plot? (mp[["B"]] 情节标题是 'B_plot') title=paste0(names(.),'_plot')得不到我想要的

library(tidyverse)

test_data <- data.frame(
  category=c('A','A','A','B','B','B'),
  price=c(1,1,2,3,2,2),
  amount=c(1:6)
) %>% split(.$category)

mp <- map(test_data,~ ggplot(.,aes(x=price,y=amount))+
      geom_point()+labs(title=paste0(names(.),'_plot')))

mp[["A"]]

使用 purrr::imap 你可以:

library(tidyverse)

mp <- imap(test_data, ~ ggplot(.x, aes(x = price, y = amount)) +
  geom_point() +
  labs(title = paste0(.y, "_plot")))

mp[["A"]]