如何在 Matplotlib 和 Seaborn 中用颜色绘制不同的数据类别?

Mary-Kate Olsen
发布: 2024-10-17 16:36:03
原创
723 人浏览过

How to Plot Different Data Categories with Colors in Matplotlib and Seaborn?

为不同的分类级别绘制不同的颜色

在本文中,我们探讨了在 Python 的 matplotlib 库中创建散点图的各种方法,其中数据点根据不同的分类级别进行颜色编码。

使用 matplotlib

matplotlib 为 plt.scatter() 提供了一个 c 参数,允许颜色自定义。该参数可以设置为将类别值映射到颜色的列表或字典。

<code class="python">import matplotlib.pyplot as plt
import pandas as pd

# Load data
df = pd.read_csv("diamonds.csv")

# Create a color map
colors = {'D':'tab:blue', 'E':'tab:orange', 'F':'tab:green', 'G':'tab:red', 'H':'tab:purple', 'I':'tab:brown', 'J':'tab:pink'}

# Plot data with color mapping
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()</code>
登录后复制

使用seaborn

Seaborn 是一个库,它提供了一个简洁的 API,用于使用 matplotlib 创建统计图形。要使用 seaborn 创建带有颜色编码数据点的散点图,请使用 sns.lmplot() 函数和 fit_reg=False 来禁用回归。

<code class="python">import seaborn as sns

# Plot data with color-coding
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>
登录后复制

使用 pandas.DataFrame.groupby 和 pandas.DataFrame。 plot

如果您不想使用seaborn,您可以使用 pandas.groupby() 和 pandas.DataFrame.plot() 手动获得相同的结果。此方法涉及按颜色对数据进行分组,然后使用指定的颜色单独绘制每个组。

<code class="python">fig, ax = plt.subplots()

grouped = df.groupby('color')
for key, group in grouped:
    group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])</code>
登录后复制

通过实施这些技术,您可以创建信息丰富的散点图,直观地表示不同类别级别之间的关系。

以上是如何在 Matplotlib 和 Seaborn 中用颜色绘制不同的数据类别?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板