首页 > 后端开发 > 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板