在单个HTML页面上显示多个mpld3导出

2024-04-28 17:16:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现mpld3包非常适合将matplolib绘图导出到HTML并通过flask应用程序显示。

每次导出都附带了大量的JS,如果您想在一个页面中显示多个绘图,那么这些JS似乎是不必要的重复。不过,我对JS还不够精通,无法提取相关组件,然后遍历它们。.fig_to_dict方法提供了显示每个图表所需的JSON,但是我想知道依次显示每个图表所需的JS/template工作是什么。

我曾考虑过将每个图叠加成一个大的图形,但我想将这些图表分别放在不同的div中,所以这不是正确的解决方案。

我想我可以看到JS正在做什么来显示它们,但是我没有足够的知识来修改函数以适应目的。

我没有包含代码,因为我希望这只与有mpld3经验的人相关,但如果需要,可以提供一些示例代码。

mpld3.fig_to_html(fig, template_type="simple")的HTML输出示例:

<script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script>
<script type="text/javascript" src="http://mpld3.github.io/js/mpld3.v0.1.js"></script>
<style>
</style>
<div id="fig136845463888164451663379"></div>
<script type="text/javascript">
  var spec136845463888164451663379 = { <snip JSON code> };
  var fig136845463888164451663379 = mpld3.draw_figure("fig136845463888164451663379", spec136845463888164451663379);
</script>

我认为这将非常简单,从模板头链接两个核心脚本,然后为每个JSON导出创建一个新脚本。但这对我没用。


Tags: totextdivjson绘图htmltype图表