首頁 > 後端開發 > Python教學 > 如何在 Python 的 Matplotlib 中建立帶有分類資料的散佈圖?

如何在 Python 的 Matplotlib 中建立帶有分類資料的散佈圖?

DDD
發布: 2024-12-20 10:46:11
原創
255 人瀏覽過

How to Create a Scatter Plot with Categorical Data in Python's Matplotlib?

如何以類別建立散佈圖

在Python的Matplotlib中,可以讓用plot方法來實現按類別建立散佈圖,如下所示:

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

# 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 Data
groups = df.groupby('label')

# Plot
fig, ax = plt.subplots()
ax.margins(0.05)  # Optional padding
for name, group in groups:
    ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name)
ax.legend()

plt.show()
登入後複製

更客製化的外觀,類似於熊貓預設樣式:

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 Data
groups = df.groupby('label')

# Plot
plt.rcParams.update(pd.tools.plotting.mpl_stylesheet)
colors = pd.tools.plotting._get_standard_colors(len(groups), color_type='random')

fig, ax = plt.subplots()
ax.set_color_cycle(colors)
ax.margins(0.05)
for name, group in groups:
    ax.plot(group.x, group.y, marker='o', linestyle='', ms=12, label=name)
ax.legend(numpoints=1, loc='upper left')

plt.show()
登入後複製

以上是如何在 Python 的 Matplotlib 中建立帶有分類資料的散佈圖?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板