私はいくつかのパラメータを持つ関数のプロットを表示するDjango Webアプリケーションを作成しようとしていますが、ウェブ上のこれの例。フォームを使用してパラメータ化できるDjango WebアプリケーションでMatplotlibプロットを生成する方法
これまでのところ、私は次のような構造を持つmpldjango
プロジェクト内mpl
アプリを作成しました:mpl/views.py
は
import django
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import numpy as np
def make_canvas(rate):
rate = float(rate)
fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
x = np.arange(-2, 1.5, 0.01)
y = np.sin(np.exp(rate * x))
ax.plot(x,y)
return canvas
def mplimage(request, rate=2):
canvas = make_canvas(rate=rate)
response=django.http.HttpResponse(content_type='image/png')
canvas.print_png(response)
return response
とmpldjango/urls.py
であることは今
from django.conf.urls import include, url
from django.contrib import admin
import mpl.views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'mplimage.png/a=(?P<rate>[0-9]+)', mpl.views.mplimage),
url(r'mplimage.png', mpl.views.mplimage),
]
です
.
├── db.sqlite3
├── manage.py
├── mpl
│ ├── __init__.py
│ ├── __pycache__
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
└── mpldjango
├── __init__.py
├── __pycache__
├── settings.py
├── urls.py
└── wsgi.py
、以降私はhttp://localhost:8000/mplimage.png/a=3を参照した場合、例えば、私は3
に設定rate
パラメータでプロットを得る:私はURLにa=2
を設定した場合
と類似しました。
これは私が望むインターフェイスではありません。プロットパラメータを含むフォームを記入し、提出する際にプロットを更新することをお勧めします。これは非常に標準的なコード例ですが、私は何も見つけることができませんでした。私はこれについてどうやって行くのですか?