【问题标题】:How can i plot multiple plots with plotly如何用 plotly 绘制多个图
【发布时间】:2020-01-20 22:26:55
【问题描述】:

我确实有一个包含近 300 个地块的 plot_list。有没有办法用 plotly 绘制数组中的所有图?我不知道如何创建一个有这么多情节的子情节。

这是我的代码:

plot_list = list()
for(i in 2:length(colnames.no.na.work.df.worldbank.2009)){

  # Create columns for buffer.data.frame to plot
  first.column.buffer <- no.na.work.df.worldbank.2009$`country name`
  second.column.buffer <- round(as.numeric(unlist(no.na.work.df.worldbank.2009[134])))
  third.column.buffer <- round(as.numeric(unlist(no.na.work.df.worldbank.2009[i])))
  colnames.no.na.work.df.worldbank.2009 <- colnames(no.na.work.df.worldbank.2009)

  # Create buffer.data.frame to plot
  buffer.data.frame <- cbind.data.frame(first.column.buffer, second.column.buffer, third.column.buffer, stringsAsFactors = FALSE)
  colnames(buffer.data.frame) <- (c("c", "b", "a"))

  # Safe plot in array
  p <- ggplot(buffer.data.frame, aes(a, b, name = c)) + ggtitle("Title") + theme(plot.title = element_text(hjust = 0.5)) +
    xlab(colnames.no.na.work.df.worldbank.2009[i]) + ylab(colnames.no.na.work.df.worldbank.2009[134]) + geom_point() 
  plot_list[[i-1]] = p
}

【问题讨论】:

    标签: r ggplot2 ggplotly


    【解决方案1】:

    您可以将所有项目放在一个包含在 div 中的列表中,这样您就可以控制样式。 使用 uiOutput() 显示它

    # You have to provide the plotly plot_list to the function
    output$all_plots <- shiny::renderUI({
        all_plots <- list()
        for (n in seq_along(plot_list)) {
            all_plots[[n]] <- div(style="padding:5px; margin: 5px;",plot_list[[n]])
        }
        return(all_plots)
    })
    

    【讨论】:

    • 谢谢米格尔。我不明白!我在上面的问题中添加了我的代码。我收到不同的错误,例如“输出错误 $all_plots
    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 2021-02-18
    • 2019-07-25
    • 2020-05-25
    • 1970-01-01
    • 2021-04-26
    相关资源
    最近更新 更多