首页  >  文章  >  后端开发  >  如何在 Matplotlib 和 Seaborn 中用颜色绘制不同的数据类别?

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-17 16:36:03618浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn