使用For循环打印多个图

时间:2019-06-07 22:01:28

标签: r for-loop ggplot2 data-visualization

当前使用此循环迭代列名并创建与每次循环迭代相关的图。问题是只有最后一次迭代被用于创建绘图。

我正在遍历5个变量,编号5用于在循环后创建5个图。我需要在单独的图中绘制每个变量。

为什么会这样?

col<-names(gbuas_focus[,5:10])

    for(i in col) {
      print(i)
      ua_p<-ggplot(gbuas_focus,aes(x=i,y=id))+
        geom_point(col="green",
               size=3)+
        labs(y='User Agent Strings',
         title="Understanding Misclassifying Variables") +
    facet_wrap(~classification)
    print(ua_p)
    }

编辑: 该问题被视为重复问题。提供的链接没有回答我的问题。幸运的是,@ mischva11在下面的评论中为我的问题提供了一个很好的答案。

我的新代码如下:

for(i in col) {
  print(i)
  ua_p<-ggplot(gbuas_focus,aes_string(x=i,y=seq(1,nrow(gbuas_focus))))+
    geom_point(color="green",
               size=3)+
    labs(x='Variable of Interest',
         y='User Agent Strings',
         title="Understanding Misclassifying Variables") +
    facet_wrap(~classification)
    print(ua_p)
}

EDIT-2:经过进一步的努力,我开发了适合我最初兴趣的循环。它的功能完全符合我的期望。

for(i in col) {
  print(i)
  ua_p<-ggplot(gbuas_focus
              )+
    geom_point(aes_string(
                x=i,
                y='uas_id'),
                color="green",
                size=3
               )+
    labs(x='Variable of Score',
         y='User Agent Strings',
         title="Understanding Misclassifying Variables"
        )+
    facet_wrap(~classification)
    print(ua_p)
}

0 个答案:

没有答案