我的python脚本中有一个字典,其中包含我想要创建条形图的数据。
我使用matplotlib并能够生成条形图图像并保存。然而,这还不够好,因为我想将该条形图发送为电子邮件,我无法将条形图图像嵌入到我的电子邮件的HTML体内。我知道我可以使用<img>
标签,但问题是电子邮件正文在Jenkins中填充为预发送脚本的一部分,外部生成的图像无法以这种方式发送。
我正在考虑使用D3.js生成带有字典数据的可视化。我需要帮助在哪里以及如何启动并将python和js粘合在一起。
仅供参考,目前我在python中使用HTML包来使用python代码生成html。这允许我非常容易地生成html表,但是html没有条形图标签等因此问题。
答案 0 :(得分:1)
作为从python matplotlib
和mpld3
生成的html格式条形图的最小示例,您有,
import matplotlib.pyplot as plt
import numpy as np
import mpld3
fig, ax = plt.subplots(1,1)
N = 10
bar = ax.bar(range(N),np.random.normal(size=N))
mpld3.save_html(fig,'./out.html')
然后使用out.html
或调用mpld3.fig_to_html(fig)
生成代码或mpld3.fig_to_dict
以输出图形的json可序列化字典表示。