在Django網頁上使用Plotly繪圖

使用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 %}

以下即為輸出的結果:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *