首页 >后端开发 >Python教程 >如何在 Pandas DataFrame 中创建带有按类别区分的标记的散点图?

如何在 Pandas DataFrame 中创建带有按类别区分的标记的散点图?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-19 13:05:03277浏览

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