【问题标题】:Is there a way to merge/embed multiple Plotly HTML files into one page/HTML file offline?有没有办法将多个 Plotly HTML 文件离线合并/嵌入到一个页面/HTML 文件中?
【发布时间】:2018-05-08 21:49:47
【问题描述】:

我正在尝试将多个图表组合成一份 HTML 报告以发送出去。问题是我真的不认为子图是最好的主意,因为图表相对不相关(不同的 X/Y 轴)。我需要做的只是将图表附加到 1 个 HTML 文件中。有一个指南解释了如何使用 plotly URLs,但我不想依赖互联网连接来自动报告,我希望能够在线查看这些报告

我正在尝试创建一个 HTML 报告,它只是将多个情节图附加到一个 HTML 文件中,而不是拥有多个单独的 HTML 文件。这些图表并不真正相关,因此对创建子图不感兴趣。理论上它只是一个 HTML 文件,所以我可以以某种方式复制和粘贴代码并让它们都显示出来,对吗?

我指的文档:https://plot.ly/python/html-reports/

【问题讨论】:

  • 我不明白你为什么要避免子图 - 我认为这是获得组合 HTML 的最简单方法。
  • 您想要交互式 D3s 图形,还是仅在 HTML 容器中嵌入一系列静态 PNG 图像就足够了?后者应该是微不足道的。
  • 最好是交互式 D3 图。我不想做子图的原因是因为有几十个图表根本不共享X/Y轴,创建多条轨迹会非常耗时

标签: python html pandas plot plotly


【解决方案1】:

以您想要的格式创建网格布局,然后以编程方式将 html 插入到网格中

【讨论】:

    【解决方案2】:

    这里是基于https://stackoverflow.com/a/58336718/4286380的建议

    def plot_list(df_list):
        fig_list =[]
        from plotly.subplots import make_subplots
    
        # Creation des figures
        i=0
        for df in df_list:
            i+=1
            fig = go.Figure()
            fig.add_trace(go.Scatter(x=list(df.Date), y=list(df.Temp), name="Température"))
    
            # Add figure title
            fig.update_layout(
                title_text=f"Cas n°{i}")
    
            # Set x-axis title
            fig.update_xaxes(title_text="Date")
    
            fig_list.append(fig)
    
        # Création d'un seul fichier HTML
        filename=f"{os.path.join('output', 'full_list.html')}"
        dashboard = open(filename, 'w')
        dashboard.write("<html><head></head><body>" + "\n")
        include_plotlyjs = True
    
        for fig in fig_list:
            inner_html = fig.to_html(include_plotlyjs = include_plotlyjs).split('<body>')[1].split('</body>')[0]
            dashboard.write(inner_html)
            include_plotlyjs = False
        dashboard.write("</body></html>" + "\n")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-08
      • 2023-01-22
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 1970-01-01
      相关资源
      最近更新 更多