当前位置: 代码迷 >> python >> 在Django模板中嵌入matplotlib移动图
  详细解决方案

在Django模板中嵌入matplotlib移动图

热度:112   发布时间:2023-07-16 11:16:51.0

我是python Django框架的新手。

我有matplotlib移动图或实时图,应将其嵌入django模板中 我在这里检查了许多与此相关的问题,但没有一个适合我。 我们这里建议的大多数人都以图像显示,但是问题是使用默认界面(如缩放移动图表,将所有内容拖动到一起。 我正在努力解决。 我使用了这段代码,并且知道它将作为图像显示。

def simple(request):
    import random
    import django
    import datetime

    from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
    from matplotlib.figure import Figure
    from matplotlib.dates import DateFormatter

    fig = Figure()
    ax = fig.add_subplot(111)
    x = []
    y = []
    now = datetime.datetime.now()
    delta = datetime.timedelta(days=1)
    for i in range(10):
        x.append(now)
        now += delta
        y.append(random.randint(0, 1000))
    ax.plot_date(x, y, '-')
    ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
    fig.autofmt_xdate()
    canvas = FigureCanvas(fig)
    response = django.http.HttpResponse(content_type='image/png')
    canvas.print_png(response)
    return response

我使用此代码作为参考。

如果无法理解,请在下面发表评论,请尝试清楚地传达您的意见

谁能帮我解决这个问题。 提前致谢。

除了使用matplotlib之外,您还可以尝试使用BOKEH图表。 查看此

尽管这似乎是一个简单的问题,但是matplotlib用来在桌面上显示交互式图表的机制相当复杂,没有什么可以随便插入某些HTML的。

我建议您查看一个前端库,以图形方式显示数据,然后将您的前端数据与后端一起提供。

至于库,请查看 。 它有很好的文档和示例。