使用Plot 繪製分類散點圖
在本指南中,我們的目標是解決在Python 中使用Pandas 和創建散點圖時的常見問題matplotlib。具體來說,我們將探索如何將特定符號分配給資料中的不同類別。
問題
給定一個具有多個列的Pandas DataFrame,目標是建立散點圖,其中兩個變數沿x 軸和y 軸繪製,而第三列決定用於表示資料點的符號。
解決方案:使用繪圖
雖然 scatter 可用於此任務,但它需要類別的數值,這限制了其有效性。更好的方法是對離散類別使用繪圖函數。
以下程式碼範例示範如何實作此方法:
import matplotlib.pyplot as plt import numpy as np import pandas as pd np.random.seed(1974) # Generate Data num = 20 x, y = np.random.random((2, num)) labels = np.random.choice(['a', 'b', 'c'], num) df = pd.DataFrame(dict(x=x, y=y, label=labels)) groups = df.groupby('label') # Plot fig, ax = plt.subplots() ax.margins(0.05) for name, group in groups: ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name) ax.legend() plt.show()
為了獲得視覺上吸引人的結果,您可以自訂繪圖使用Pandas 繪圖模組中提供的matplotlib 樣式:
plt.rcParams.update(pd.tools.plotting.mpl_stylesheet) colors = pd.tools.plotting._get_standard_colors(len(groups), color_type='random') # ... (the rest of the code remains the same)
這將為您提供一個散點圖,其中每個類別都由不同的顏色和符號表示。
以上是如何在 Python 中建立具有不同符號的分類散佈圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!