首頁 >後端開發 >Python教學 >如何在 Pandas DataFrame 中建立帶有按類別區分的標記的散點圖?

如何在 Pandas DataFrame 中建立帶有按類別區分的標記的散點圖?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-19 13:05:03275瀏覽

How to create a scatter plot with markers differentiated by category in a Pandas DataFrame?

如何使用Pandas DataFrame 按類別建立散佈圖

問題:

如何有效建立散點圖使用Pandas DataFrame 進行繪圖,其中標記由資料框中的第三列指定DataFrame?

答案:

使用 matplotlib.pyplot.scatter() 依類別區分標記可能效率低。相反,請考慮對離散類別使用 matplotlib.pyplot.plot():

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 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))

# Group by labels
groups = df.groupby('label')

# Plot
fig, ax = plt.subplots()
ax.margins(0.05)  # Optional padding

# Use different markers and colors for each group
for name, group in groups:
    ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name)
ax.legend()

# Specify custom colors and styles
plt.rcParams.update(pd.tools.plotting.mpl_stylesheet)
colors = pd.tools.plotting._get_standard_colors(len(groups), color_type='random')
ax.set_color_cycle(colors)
ax.legend(numpoints=1, loc='upper left')

plt.show()

此程式碼產生一個散佈圖,其中標記按類別進行顏色編碼。

以上是如何在 Pandas DataFrame 中建立帶有按類別區分的標記的散點圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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