首頁 >後端開發 >Python教學 >如何在 Python 中建立具有不同符號的分類散佈圖?

如何在 Python 中建立具有不同符號的分類散佈圖?

Susan Sarandon
Susan Sarandon原創
2024-11-18 05:22:02835瀏覽

How to Create Categorical Scatter Plots with Distinct Symbols in Python?

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn