使用Plotly進行Python互動式資料視覺化
Python 已經成為資料分析和視覺化的首選程式語言,使資料科學家和分析師能夠有效地發現見解並傳達研究結果。在豐富的 Python 庫生態系統中,Plotly 作為建立互動式資料視覺化的強大工具脫穎而出。使用 Plotly,我們可以將靜態圖表轉換為動態且引人入勝的視覺化效果,使使用者能夠即時探索和互動式地處理資料。
在本教程中,我們將深入探討使用 Python 中的 Plotly 進行互動式資料視覺化的世界。我們將首先幫助您開始使用 Plotly。我們將引導您完成安裝過程,並向您展示如何將必要的模組匯入到您的 Python 環境中。然後,我們將深入研究 Plotly 圖表的 basics,逐步演示如何建立線圖、條形圖、散點圖等等。所以,讓我們開始吧!
使用Plotly進行Python互動式資料視覺化
在我們深入研究使用 Plotly 建立互動式視覺化之前,讓我們確保已準備好必要的設定。
要開始使用 Plotly,我們需要安裝庫及其依賴項。可以使用 Python 的包管理器 pip 安裝 Plotly。開啟您的命令列介面或終端並執行以下命令
pip install plotly
Plotly 還依賴於 `numpy` 庫的存在,該庫廣泛用於 Python 中的數值計算。如果您沒有安裝 `numpy`,可以使用以下命令安裝它
pip install numpy
為了在我們的 Python 指令碼或 Jupyter Notebook 中使用 Plotly,我們需要匯入庫及其所需的模組。通常,為了簡潔起見,我們使用 `plotly` 別名匯入 Plotly。此外,我們將匯入 `graph_objects` 模組,該模組提供了一個簡化的介面來建立 Plotly 視覺化效果。開啟您的 Python 指令碼或 Jupyter Notebook,並在開頭新增以下匯入語句
import plotly.graph_objects as go import plotly.io as pio
在這裡,我們使用 `go` 作為 `graph_objects` 模組的別名,使用 `pio` 作為 `plotly.io` 模組的別名。
基本的 Plotly 圖表
在本節中,我們將探討 Plotly 支援的不同型別的基本圖表,包括線圖、條形圖、散點圖和餅圖。我們將引導您完成建立這些圖表的逐步過程,從資料準備到自定義選項,並使用示例資料集展示示例。
要使用 Plotly 建立基本圖表,我們需要遵循一個分步過程,其中涉及資料準備和自定義選項。
資料準備:首先,我們需要準備資料。對於線圖、條形圖和散點圖,我們通常需要兩個陣列或列表:一個用於 x 軸值,另一個用於 y 軸值。對於餅圖,我們需要單個數組或列表的值來表示每個類別的比例或頻率。
自定義選項:資料準備好後,我們可以自定義圖表以使其更具資訊性和視覺吸引力。Plotly 提供了廣泛的選項,包括標題、標籤、顏色、標記和註釋。我們可以修改這些屬性以滿足我們的特定需求並提高視覺化的清晰度。
讓我們使用示例資料集展示每種基本圖表型別的示例。
線圖示例
import plotly.graph_objects as go # Sample data x = [1, 2, 3, 4, 5] y = [10, 15, 7, 12, 9] # Create a trace trace = go.Scatter(x=x, y=y) # Create the layout layout = go.Layout(title='Line Plot Example') # Create the figure fig = go.Figure(data=[trace], layout=layout) # Display the plot fig.show()
在此示例中,我們使用 `go.Scatter` 類建立一個線圖。我們提供陣列 `x` 和 `y` 來定義圖上點的座標。生成的線圖顯示了 x 和 y 值之間的關係。
輸出

正如您從上面的輸出中看到的,已經使用 Plotly 建立了一個線圖。接下來,讓我們學習如何繪製條形圖。
條形圖示例
import plotly.graph_objects as go # Sample data x = ['A', 'B', 'C', 'D'] y = [20, 14, 23, 18] # Create a trace trace = go.Bar(x=x, y=y) # Create the layout layout = go.Layout(title='Bar Chart Example') # Create the figure fig = go.Figure(data=[trace], layout=layout) # Display the plot fig.show()
在此示例中,我們使用 `go.Bar` 類建立一個條形圖。我們提供陣列 `x` 和 `y` 來定義類別及其相應的值。生成的條形圖顯示每個類別的頻率或值。
輸出

既然我們已經學習瞭如何使用 Plotly 繪製條形圖,讓我們繼續本文的下一節,看看散點圖示例。
散點圖示例
import plotly.graph_objects as go # Sample data x = [1, 2, 3, 4, 5] y = [10, 15, 7, 12, 9] # Create a trace trace = go.Scatter(x=x, y=y, mode='markers') # Create the layout layout = go.Layout(title='Scatter Plot Example') # Create the figure fig = go.Figure(data=[trace], layout=layout) # Display the plot fig.show()
在此示例中,我們使用 `go.Scatter` 類建立一個散點圖,並將 `mode` 引數設定為“markers”。我們提供陣列 `x` 和 `y` 來定義資料點的座標。生成的散點圖在圖上顯示單個數據點。
輸出

正如您從上面的輸出中看到的,已經使用 Plotly 繪製了一個散點圖。接下來,讓我們看看如何繪製餅圖的示例。
餅圖示例
import plotly.graph_objects as go # Sample data labels = ['Category A', 'Category B', 'Category C'] values = [40, 30, 20] # Create a trace trace = go.Pie(labels=labels, values=values) # Create the layout layout = go.Layout(title='Pie Chart Example') # Create the figure fig = go.Figure(data=[trace], layout=layout) # Display the plot fig.show()
在此示例中,我們使用 `go.Pie` 類建立一個餅圖。我們提供陣列 `labels` 和 `values` 來定義類別及其相應的比例。生成的餅圖顯示不同類別的分佈。
輸出

正如您從上面的輸出中看到的,已經使用 Plotly 建立了一個餅圖。
這些示例為您建立自己的基本 Plotly 圖表提供了一個起點。在本文的後續部分,我們將探討一些高階自定義選項和互動性,以增強您的資料視覺化效果。
透過佈局配置修改圖表外觀
Plotly 提供了一組豐富的佈局配置,使我們能夠修改圖表的整體外觀。這些配置包括背景顏色、網格線、圖例位置等的設定。透過調整佈局選項,我們可以建立在視覺上令人愉悅的視覺化效果,並與我們期望的美學風格相符。
為了說明這些自定義技術,讓我們考慮一個示例,其中我們有一個散點圖,它表示兩個變數 X 和 Y 之間的關係。假設我們想透過新增標題、更改標記的顏色和大小以及調整佈局配置來自定義圖表。
import plotly.graph_objects as go # Sample data X = [1, 2, 3, 4, 5] Y = [2, 4, 6, 8, 10] # Create a scatter plot fig = go.Figure(data=go.Scatter(x=X, y=Y, mode='markers')) # Customize the plot fig.update_layout( title="Scatter Plot Example", xaxis_title="X", yaxis_title="Y", plot_bgcolor='rgb(240, 240, 240)', showlegend=True, legend=dict( x=1, y=1 ) ) # Customize the markers fig.update_traces( marker=dict( size=10, color='green' ) ) # Display the plot fig.show()
在上面的程式碼中,我們使用 Plotly 的 `graph_objects` 模組中的 `Scatter` 物件建立一個散點圖。然後,我們透過新增標題、軸標籤、更改背景顏色、調整圖例位置以及修改標記大小和顏色來自定義圖表。最後,我們使用 `show()` 方法顯示自定義的圖表。
輸出

正如您從上面的輸出中看到的,散點圖點的大小很大,顏色為綠色,如程式碼中定義的那樣。透過試驗不同的自定義選項和配置,我們可以建立有效傳達資料並增強整體演示的視覺化效果。
結論
在本文中,我們探討了 Plotly 在 Python 中進行互動式資料視覺化的強大功能。我們首先設定 Plotly 並匯入必要的模組,然後深入研究建立基本圖表,例如線圖、條形圖、散點圖和餅圖。我們為每種圖表型別提供了示例,並演示了自定義選項,例如標題、標籤、顏色、標記和註釋。此外,我們還探討了佈局配置,以修改圖表的整體外觀。透過結合互動性和自定義功能,Plotly 使我們能夠建立視覺上吸引人且引人入勝的視覺化效果,從而有效地傳達見解。在您繼續資料視覺化之旅時,我鼓勵您利用 Plotly 的功能來釋放資料的全部潛力並吸引您的受眾。