在python中绘制多线图并在HTML中嵌入

时间:2016-06-08 09:45:22

标签: python matplotlib

我在python中进行一些数据分析。我有一个时间序列数据(连续日期),我想绘制类似的东西:

Image

我使用matplotlib绘制了单线图,并使用base64编码将其嵌入到HTML中。但是我担心的是,当我在HTML中嵌入图形时,我没有悬停设施。 对于图像中显示的那种图形,我可以使用matplotlib轻松地绘制它,但之后我想将其嵌入到html中并启用悬停以便于阅读。 我已经经历过阴谋,这确实完成了工作,但图表并不是私密的,隐私在这里也是一个问题。

请为此建议一些OPEN SOURCE库。

我所做的代码:

def graph(data):
    keys = sorted(data.keys())
    values = [data[key] for key in keys]

    fig = plt.figure(figsize = (2 , 0.3) ,facecolor='w')
    plt.axis("off")
    plt.subplots_adjust(bottom = 0.15)
    plt.plot(values , color = 'g' )

    imgdata = cStringIO.StringIO()
    fig.savefig(imgdata, format='png' , facecolor = fig.get_facecolor())

    s = '<img alt = "embedded" src = "data:image/png;base64,%s"/>' %
             imgdata.getvalue().encode("base64").strip()


    plt.close()

    return s

感谢。

1 个答案:

答案 0 :(得分:0)

您需要一些Javscript才能在HTML中包含动画图形。您可以考虑使用Bokeh,D3.js库的Python包装器:

http://bokeh.pydata.org/en/latest/