使用Python語言製作圖表時,一般都是習慣利用matplotlib的強大功能。但是,如果想要在Django的網頁上製作圖表時,比較容易的方式則是使用Plotly這個模組。要使用Plotly這個模組,首先要利用pip進行安裝:
pip install plotly
然後在views.py中的程式碼,要編寫成如下所示的樣子,這些程式就是實際執行繪圖的部份:
from plotly.offline import plot
import plotly.graph_objs as go
import numpy as np
def index(request):
x = np.linspace(0, 2*np.pi, 360)
y1 = np.sin(x)
y2 = np.cos(x)
plot_div = plot([go.Scatter(x=x, y=y1,
mode='lines', name='SIN', text="Title",
opacity=0.8, marker_color='green'),
go.Scatter(x=x, y=y2,
mode='lines', name='COS',
opacity=0.8, marker_color='green')],
output_type='div')
return render(request, "index.html", locals())
在上面這個程式例中,我們利用np.linspace產生了360個0到2pi之間的數字,接著分別計算出它們對應的SIN和COS的值,放在y1和y2中,然後就送進Plotly中繪圖。完成之後,在index.html中,只要加上以下的程式碼就可以了:
{% autoescape off %}
{{ plot_div }}
{% endautoescape %}
以下即為輸出的結果: