如何在 Python 中繪製平行坐標圖

如何在 Python 中繪製平行坐標圖

平行坐標圖是一種有用的可視化工具,用於顯示共享相同數值數據的多個變量之間的關係。在 LuckyTemplates 中,這些圖是使用非常簡單的 Python 代碼創建的,您可以使用這些代碼輕鬆創建和設置樣式。 

在今天的博客中,我們將學習如何使用Python創建多變量或平行坐標圖。我們將逐步完成該過程,從準備數據到自定義繪圖以提高可讀性。您可以在本博客底部觀看本教程的完整視頻。 

目錄

Python 中的平行坐標圖:示例 1

這是我們的第一個情節。它顯示了我們的三個變量——變量 A、B 和 C,以及代表項目 1 和 2 的兩條線。 

如何在 Python 中繪製平行坐標圖

這意味著我們有兩組數據,一組用於項目 1,另一組用於項目 2。對於每個數據集,我們都有三個變量。 

讓我們看一下數據,以更好地理解情節的結構。 

首先突出顯示圖表。單擊數據。 

如何在 Python 中繪製平行坐標圖

應該會出現一個包含非常簡單數據的表格。它是使用插入表選項創建的。我們可以看到,列中的每個項目的變量 A、B 和 C 在每一行中都是分開的。

如何在 Python 中繪製平行坐標圖

我們有簡單的數據,但我們可以把它變成非常有說服力的東西。例如,在我們的圖中,我們可以確定數據之間的關係非常“低”。 

如何在 Python 中繪製平行坐標圖

為了說明這一點,我們可以將此圖與我們的數據進行比較。項目 1 中的變量 B 在項目 2 中為 100 和 115,如圖所示。 

我們還可以確定項目和變量是如何相關的。例如,我們很容易看出變量A低於B,而C是三者中最低的。

如何在 Python 中繪製平行坐標圖

情節 Python 代碼

現在讓我們繼續處理用於實際繪圖的 Python代碼。

首先從Visualizations窗格中選擇Python visual 。 

如何在 Python 中繪製平行坐標圖

突出顯示我們的第一個圖形以打開Python 腳本編輯器 

如何在 Python 中繪製平行坐標圖

首先,我們導入matplotlib.pyplot並將其保存為變量plt。 

如何在 Python 中繪製平行坐標圖

然後,我們引入pandas.plotting功能。Pandas 在 LuckyTemplates 中用作數據操作庫。它主要用於處理數據,但也具有繪圖功能。

讓我們從pandas.plotting導入parallel_coordinates。Parallel_coordinates 將是創建圖形的主要函數。 

如何在 Python 中繪製平行坐標圖

在 Python 中製作情節

在第 13 行,我們通過編寫#make a plot來記錄我們將要做的事情。

如何在 Python 中繪製平行坐標圖

我們使用parallel_coordinates並傳入數據集。 

如何在 Python 中繪製平行坐標圖

在第 3 行,我們可以看到數據集是使用pandas.DataFrame ( )函數創建的。然後,我們添加項目、變量 A、變量 B 和變量 C,它們隨後反映在我們的列表中。 

在第 4 行中,使用dataset.drop_duplicates ( ) 對數據集進行了去重。

如何在 Python 中繪製平行坐標圖

我們可以轉到“可視化”窗格以查看我們添加的值。

如何在 Python 中繪製平行坐標圖

刪除這些值中的任何一個都會影響我們的視覺效果。例如,如果我們刪除變量 C,坐標將相應改變,向我們展示值是如何工作的。 

如何在 Python 中繪製平行坐標圖

讓我們通過在“字段”窗格中的“數據”下選中它旁邊的框來恢復我們的變量 C。

接下來,傳入帶有幾個不同參數的parallel_coordinates函數。在我們的例子中,它採用數據集項目,這將提供我們數據集中的類型和維度。

如何在 Python 中繪製平行坐標圖

如果我們從函數中刪除Item並運行它,視覺對象將無法工作。

我們將收到一個 Python 腳本錯誤,指出parallel_coordinates ()函數缺少 1 個必需的位置參數,即 class_column 。 

如何在 Python 中繪製平行坐標圖

因此,讓我們將Item添加回來。 因為它是定位的,所以我們不需要寫類坐標。我們可以在完成後運行代碼。 

如何在 Python 中繪製平行坐標圖

在 Python 中顯示情節

下一步是顯示情節,因此在第 16 行,我們通過編寫# show the plot來記錄我們將要做的事情。

如何在 Python 中繪製平行坐標圖

回想一下,我們之前導入了matplotlib.pyplot並將其保存為plt。我們這樣做是因為我們需要plt.show()函數 來顯示我們的繪圖。 

如何在 Python 中繪製平行坐標圖

Python 中的平行坐標圖:示例 2

我們的第二個圖是一個鳶尾花數據集,顯示了petal_length、petal_width、sepal_length 和 sepal_width。與第一張圖相比,它有更多的風格。 

如何在 Python 中繪製平行坐標圖

這個數據集是用 Python 代碼創建的。 

要查看我們的數據,請單擊“轉換數據”並轉到iris_dataset。 

如何在 Python 中繪製平行坐標圖

數據集包​​含維度列 -萼片長度萼片寬度花瓣長度花瓣寬度。它還有一個物種類型列。 

如何在 Python 中繪製平行坐標圖

數據集 Python 代碼

我們的數據是使用 Python 代碼輕鬆引入的。轉到Source以顯示 Python 腳本。 

如何在 Python 中繪製平行坐標圖

我們的 Python 代碼只有兩行。在第一行中,我們導入了 seaborn並將其保存為變量sns。我們將數據集命名為iris_dataset,並使用 sns 變量通過sns.load_dataset('iris')函數加載數據集。 

如何在 Python 中繪製平行坐標圖

單擊“確定”以獲取我們在上面看到的數據。瀏覽數據,完成後,我們可以通過轉到Close & Apply > Close關閉數據集。 

如何在 Python 中繪製平行坐標圖

Python 中的樣式圖

要打開 Python 腳本編輯器以獲取我們更具程式化的圖形,請單擊我們的第二個繪圖。

我們首先將matplotlib.pyplot作為plt導入。 

如何在 Python 中繪製平行坐標圖

然後,我們使用函數plt.style.use ('dark_background')來設置視覺樣式。 

如何在 Python 中繪製平行坐標圖

我們可以使用 matplotlib 的Style sheet reference輕鬆地根據我們喜歡的樣式自定義背景。在我們的例子中,我們使用了深色背景。

如何在 Python 中繪製平行坐標圖

讓我們也嘗試使用ggplot,這是一種常用的樣式。

如何在 Python 中繪製平行坐標圖

如果我們運行它,它會給我們一個看起來像這樣的視覺效果。 

如何在 Python 中繪製平行坐標圖

然後,通過從pandas.plotting 導入parallel_coordinates來為圖形加載 pandas 函數。 

如何在 Python 中繪製平行坐標圖

為了製作情節,我們引入了數據集並將我們的物種設置為類別。 

如何在 Python 中繪製平行坐標圖

與我們的第一個圖相比,我們添加了一個額外的參數,即用於獲取不同顏色的顏色圖。使用 matplotlib 變量plt.get_cmap 傳遞它。 

如何在 Python 中繪製平行坐標圖

在 matplotlib 的Colormap 參考中有很多 matplotlib 顏色變量可供選擇

如何在 Python 中繪製平行坐標圖

例如,我們目前使用的是定性顏色圖中的第 2 組,但我們也可以將其更改為其他顏色,例如循環顏色圖中的hsv。 

如何在 Python 中繪製平行坐標圖

點擊運行得到一個看起來像這樣的圖。 

如何在 Python 中繪製平行坐標圖

Hsv在我們的數據上看起來不太好,但我們可以嘗試直到找到最適合我們繪圖的顏色圖。 



Python 相關性:使用 ProfileReport() 在 Pandas 中創建視覺數據集的指南| LuckyTemplates 中的 Python
Python 中的 Seaborn 函數可視化變量的分佈

結論

在本教程中,我們介紹了在 Python 中創建平行坐標圖的基礎知識。我們已經完成了準備數據、創建繪圖和自定義繪圖以提高可讀性的過程。 

平行坐標圖是可視化高維數據的強大工具,可用於金融、工程和機器學習等多個領域。現在我們知道如何在Python中創建平行坐標圖,我們可以開始使用它們來更好地理解和可視化我們自己的數據。

一切順利,

蓋林荷蘭


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的