Python Matplotlib和Django:如何防止页面加载时图形的移动?

Python Matplotlib和Django:如何防止页面加载时图形的移动?,python,django,matplotlib,charts,Python,Django,Matplotlib,Charts,我使用Matplotlib在web浏览器中显示图表。考虑这个最小的例子: url.py from django.conf.urls import patterns, include, url from django.contrib import admin from tests import views urlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)), url(r'^test/$', vi

我使用Matplotlib在web浏览器中显示图表。考虑这个最小的例子:

url.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from tests import views

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^test/$', views.page_test),
    url(r'^test/barchart_test.png$', views.barchart_test),
    url(r'^test/piechart_test.png$', views.piechart_test),
)
import matplotlib.pyplot as plt
from matplotlib.backends.backend_agg import FigureCanvasAgg
from django.http import HttpResponse
from django.shortcuts import render

def page_test(request):
    return render(request, 'test.html')

def barchart_test(request):
    x = range(0, 2)
    y = (40, 80)
    width = 0.20

    fig, ax1 = plt.subplots()
    fig.frameon = False

    ax1.bar(x, y, width, align='center', color=('#44A744', '#D95F61'))

    canvas = FigureCanvasAgg(fig)
    response = HttpResponse(content_type='image/png')
    canvas.print_png(response)
    plt.close(fig)
    return response

def piechart_test(request):
    num = [2, 6, 10]
    lab = ['A', 'B', 'C']

    fig, ax1 = plt.subplots()

    ax1.pie(
        num,
        labels=lab,
        )

    canvas = FigureCanvasAgg(fig)
    response = HttpResponse(content_type='image/png')
    canvas.print_png(response)
    plt.close(fig)
    return response
视图.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from tests import views

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),
    url(r'^test/$', views.page_test),
    url(r'^test/barchart_test.png$', views.barchart_test),
    url(r'^test/piechart_test.png$', views.piechart_test),
)
import matplotlib.pyplot as plt
from matplotlib.backends.backend_agg import FigureCanvasAgg
from django.http import HttpResponse
from django.shortcuts import render

def page_test(request):
    return render(request, 'test.html')

def barchart_test(request):
    x = range(0, 2)
    y = (40, 80)
    width = 0.20

    fig, ax1 = plt.subplots()
    fig.frameon = False

    ax1.bar(x, y, width, align='center', color=('#44A744', '#D95F61'))

    canvas = FigureCanvasAgg(fig)
    response = HttpResponse(content_type='image/png')
    canvas.print_png(response)
    plt.close(fig)
    return response

def piechart_test(request):
    num = [2, 6, 10]
    lab = ['A', 'B', 'C']

    fig, ax1 = plt.subplots()

    ax1.pie(
        num,
        labels=lab,
        )

    canvas = FigureCanvasAgg(fig)
    response = HttpResponse(content_type='image/png')
    canvas.print_png(response)
    plt.close(fig)
    return response
模板(test.html)


测试
酒吧
馅饼
在我的网络浏览器(Chrome版本38.0.2125.122)中,图形首次显示时没有其最终位置。在装载结束时,它们移动到正确的位置

是否有可能防止这种移动,并立即在正确的位置看到图形