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

时间:2018-05-30 04:58:35

标签: r ggplot2 dplyr purrr

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

我的最佳尝试(下方)只能获取字符串的第一个值,因此当我想要三个不同的1% explained variance名称时,所有3个图表的x轴都显示为1% explained variance2% explained variance3% explained variance。谢谢

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=''))
  )

1 个答案:

答案 0 :(得分:5)

<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="AngularJS Routes" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" /> </conditions> <action type="Rewrite" url="/eCommerceWebsite" /> </rule> </rules> </rewrite> </system.webServer> </configuration> 中,我们可以将map2指定为.y,然后使用该索引将“{&#39; new”编入索引。因为&#39; new&#39;是一个长度为3的向量。

seq_along(.)

注意:如果我们没有使用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=''))) ,那么只需传递“&#39; new&#39;作为names(此处未使用.y元素的名称)

图表可以保存为单个pdf

list

或者将其保存为同一页面上有多个图的单个png

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

enter image description here