我有一个由Plotly在Python中生成的交互式图形,我使用plotly.offline.plot(fig, filename='/tmp/interactiveGraph.html')
将其保存到html文件中
我现在正尝试使用Dash或Django将此交互式图形嵌入到某种网页中。鉴于我拥有该图的html版本,目前我倾向于Django。 哪个会更好?
我的网页代码与创建图形的代码位于一个单独的文件中。
我在网上找到的许多教程只是说要在模板中添加几行,但我不知道如何获得他们所描述的那些行。
tl; dr:我正在寻找有关如何使用Django或Dash将html文件(用于Plotly交互式图形的HTML文件)与Web python脚本集成的指南
侧面问题:
有什么区别
plotly.offline.plot(fig, include_plotlyjs=False, output_type='div')
以及我上面有什么?
参考:
https://github.com/ricleal/DjangoPlotLy
https://www.pythonsetup.com/how-implement-data-visualization-django-and-plotly/
答案 0 :(得分:0)
我强烈推荐Django,它是一个很棒的框架。对此,最好的选择是通过JavaScript生成数据,而Plotly为此提供了一个很棒的库。如果必须使用python,则可以使用Django。假设您熟悉Django,则可以在视图内部收集数据并构建图形(除非是小图形,否则我将推荐celery任务进行长期运行,除非它们是小图形),然后您可以收集创建div格式的图形。这将返回一个字符串,其中包含图形所需的所有html和css。将其放入视图中的get_context_data()方法内部,并将其放入字典中。您可以在模板中使用该对象。如果您有困难,请随时与我联系。希望这对您有所帮助!
关于您的副问题,我认为如果包含JS的值为False,则假定您已为密谋JS库提供了包含项,那么图形将变得更小。他们可能已经在较新的版本中做到了这一点,以使图形更快,因为它们在浏览器中比JS渲染的python慢得多。