将映射期间的列表迭代名称传递到ggplot

时间:2019-01-14 20:36:29

标签: r ggplot2

df1 <- mtcars
df2 <- mtcars

combined_mtcars <- list(first_df = df1, second_df = df2)

# make the plots
map(.x = combined_mtcars, .f = function(i) {
  ggplot(i, aes(x = hp, y = mpg, group = cyl)) +
    geom_line()
})

这会生成两个图表,其中每一个df都位于Combined_mtcars中。

我想在每个图表中添加一个标题,其中标题是迭代的名称,第一个图为“ first_df”,第二个图为“ second_df”。

尝试:

imap(.x = combined_mtcars, .f = function(i) {
  ggplot(i, aes(x = hp, y = mpg, group = cyl)) +
    geom_line() +
    ggtitle(.y)
})

给出了一个错误“ .f(.x [[i]] 、. y [[i]],...)错误:未使用的参数(.y [[i]]) “

如何将迭代名称传递给ggplot?

0 个答案:

没有答案