gpt4 book ai didi

r - 带有 dplyr 和 ggplot - R 的独特轴标签

转载 作者:行者123 更新时间:2023-12-04 09:31:26 25 4
gpt4 key购买 nike

我正在使用 purrr 制作多个 ggplot2 图。如何使用数字字符串为每个 x 轴指定唯一的名称?

我最好的尝试(下面)只能得到字符串的第一个值,所以当我想要三个不同的名字时,所有 3 个图的 x 轴都显示 1% explained variance 1% 解释方差2% 解释方差3% 解释方差。谢谢

library(tidyverse)

new<-c(1,2,3)

iris%>%
split(.$Species) %>%
purrr::map2(.y = names(.),
~ ggplot(data=., aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
labs(x=paste(round(new,2),'% explained variance', sep=''))
)

最佳答案

map2 中,我们可以将 .y 指定为 seq_along(.),然后使用它来索引“new”,因为“new' 是一个长度为 3 的向量。

l1 <- iris %>% 
split(.$Species) %>%
map2( seq_along(.), ~
ggplot(data=., aes(x=Sepal.Length, y=Sepal.Width))+
geom_point()+
labs(x=paste(round(new[.y],2),'% explained variance', sep='')))

注意:如果我们不使用 names,则只需将“new”作为 .y 传递(这里是 list 的名称元素未被使用)


这些图可以保存为一个 pdf

library(gridExtra)
l2 <- map(l1, ggplotGrob)
ggsave(marrangeGrob(grobs = l2, nrow = 1, ncol =1), file = "plots.pdf")

或者将它保存为单个 png,在同一页上有多个绘图

ggsave(marrangeGrob(grobs = l2, nrow = 3, ncol =1), file = "plots.png")

enter image description here

关于r - 带有 dplyr 和 ggplot - R 的独特轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50596681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com