r - 如何用 plotly 绘制多个图
问题描述
我确实有一个包含近 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
}
解决方案
您可以将所有项目放在一个包含在 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)
})
推荐阅读
- python - 如何在新窗口中获取事件以使用 tkinter Python 正常运行?
- python - 为什么 saved_model_cli 有效而加载 saved_model.pb 无效?
- delphi - 打开已包含字段的 TFDQuery
- php - $_FILES[image][name]; 的替代方法是什么?
- python - 如何在 JSON 中进行数字对齐?
- reactjs - 使用高阶组件 React TypeScript 提升静态
- flask - 谷歌云函数 HTTP 触发器
- laravel - Laravel CRUD 应用 Dusk vs PHPUnit
- pandas - 熊猫设置列防止将单个单元格设置为可迭代
- python - 针对大量虚拟机的 Ovirt 关闭解决方案