Раньше у меня была проблема с помехой между несколькими показателями Matplotlib. Наконец, я узнал об этом, что некоторые функции pyplot не прикрепляются к их экземпляру фигуры, но могут быть отображены в некоторых других экземплярах фигур, которые создаются параллельно.
Вот пример кода:
from django.http import HttpResponse
from numpy import arange, meshgrid
from matplotlib.mlab import bivariate_normal
def show_chart(request):
delta = 0.025
x = arange(-3.0, 3.0, delta)
y = arange(-2.0, 2.0, delta)
X, Y = meshgrid(x, y)
Z1 = bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
Z = 10.0 * (Z2 - Z1)
from matplotlib.pyplot import figure, contour
fig1 = figure(figsize=(4, 4), facecolor='white')
contour(X, Y, Z)
response = HttpResponse(content_type='image/png')
fig1.savefig(response, format='png')
fig1.clear()
return response
Функция контура pyplot в приведенном выше примере может быть отображена на рис. 1, но иногда также в некоторой другой фигуре, которая генерируется параллельно. Это очень раздражает. Есть ли способ привязать функцию контурного пистолета к рис. 1?