2011-11-09 8 views
1

私はimshowを()関数ではDjangoを使用して動的なグラフを生成しようとしている:"imshow()" matplolib関数はDjango(Apache 2.2 serverとwsgi python mod)で動作しますか?

... <here django imports> ... 

    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 = ogrid[-1.:1.:.01, -1.:1.:.01] 

z = 3*y*(3*x**2-y**2)/4 + .5*cos(6*pi * sqrt(x**2 +y**2) + arctan2(x,y)) 



ax.imshow(z, origin='lower', extent=[-1,1,-1,1]) 

# Plotting contour lines 
ax.contour(z, origin='lower', extent=[-1,1,-1,1]) 

xlabel('x') 
ylabel('y') 
title('A spiral !') 


ax.plot(x[:], z[50, :]) 

canvas=FigureCanvas(fig) 
response=django.http.HttpResponse(content_type='image/png') 
canvas.print_png(response) 
return response 

私はPython用のmod WSGIでApacheサーバを使用しています:

私のコードは次のようなものです。そしてこのスニペットを実行すると、無限ループ(画像は表示されません)に入るようです。一方、私がPythonコンソールで直接実行すると、それは魅力のように機能します。何が起こっていますか?

注:「imshow()」行を削除すると、Webモードでも機能します。 imshow()はいくつかのコンテンツ(多分キャッシュ)を保存していますが、私はApache httpd.confに許可を与えるべきですか?

答えて

0

てみ設定:matplotlibのサブ通訳の問題を持っているか、それが原因のプロセスをforkしようとしているのであるかどうかあれば

WSGIApplicationGroup %{GLOBAL} 

は覚えていません。

+0

Yeahhhh!それは今働く!ありがとう – Albert

関連する問題