在本文中,我们探讨了在 Python 的 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 是一个库,它提供了一个简洁的 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>
如果您不想使用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中文网其他相关文章!