Plotly - 線上和離線繪圖



本章將討論線上和離線繪圖的設定。讓我們首先學習線上繪圖的設定。

線上繪圖設定

線上繪圖的資料圖形將儲存到您的Plotly 賬戶中。線上繪圖透過兩種方法生成,這兩種方法都會為繪圖建立一個唯一的URL 並將其儲存到您的 Plotly 賬戶中。

  • py.plot() − 返回唯一的 URL,並可以選擇開啟該 URL。

  • py.iplot() − 在Jupyter Notebook中工作時,用於在 Notebook 中顯示繪圖。

我們現在將顯示一個簡單的弧度角與其正弦值的繪圖。首先,使用 numpy 庫中的arange()函式獲取 0 到 2π 之間的角度的 ndarray 物件。此 ndarray 物件用作圖形中x 軸的值。透過以下語句獲取 x 中角度的對應正弦值,這些值需要顯示在y 軸上:

import numpy as np
import math #needed for definition of pi
xpoints = np.arange(0, math.pi*2, 0.05)
ypoints = np.sin(xpoints)

接下來,使用graph_objs 模組中的Scatter()函式建立一個散點圖跡。

trace0 = go.Scatter(
   x = xpoints,
   y = ypoints
)
data = [trace0]

將上述列表物件作為引數傳遞給plot()函式。

py.plot(data, filename = 'Sine wave', auto_open=True)

將以下指令碼儲存為plotly1.py

import plotly
plotly.tools.set_credentials_file(username='lathkar', api_key='********************')
import plotly.plotly as py
import plotly.graph_objs as go
import numpy as np
import math #needed for definition of pi

xpoints = np.arange(0, math.pi*2, 0.05)
ypoints = np.sin(xpoints)
trace0 = go.Scatter(
   x = xpoints, y = ypoints
)
data = [trace0]
py.plot(data, filename = 'Sine wave', auto_open=True)

從命令列執行上述指令碼。生成的繪圖將如以下所示的 URL 在瀏覽器中顯示。

$ python plotly1.py
High five! You successfully sent some data to your account on plotly. 
View your plot in your browser at https://plot.ly/~lathkar/0
Plot Graph

在顯示的圖形上方,您會找到“繪圖”、“資料”、“Python”和“R 分支歷史記錄”選項卡。

當前,選中了“繪圖”選項卡。“資料”選項卡顯示一個包含 x 和y 資料點的網格。“Python 和 R”選項卡允許您檢視當前繪圖的 Python、R、JSON、Matlab 等程式碼。以下快照顯示瞭如上生成的繪圖的 Python 程式碼:

Python Code

離線繪圖設定

Plotly 允許您離線生成圖形並將它們儲存到本地機器。plotly.offline.plot()函式建立一個獨立的 HTML 檔案,該檔案將儲存在本地並在您的 Web 瀏覽器中開啟。

Jupyter Notebook中離線工作時,使用plotly.offline.iplot()在 Notebook 中顯示繪圖。

注意 − 離線繪圖需要 Plotly 1.9.4+版本。

更改指令碼中的plot() 函式語句並執行。一個名為temp-plot.html的 HTML 檔案將被建立在本地並在 Web 瀏覽器中開啟。

plotly.offline.plot(
   { "data": data,"layout": go.Layout(title = "hello world")}, auto_open = True)
Offline Plotting
廣告