Home >Backend Development >Python Tutorial >How to Create a Scatter Plot with Different Colors for Categorical Levels in Matplotlib, Seaborn, and Pandas?
To create a scatter plot where different categorical levels are represented by different colors using Matplotlib, follow these steps:
<code class="python">import matplotlib.pyplot as plt import pandas as pd colors = {'D':'tab:blue', 'E':'tab:orange', 'F':'tab:green', 'G':'tab:red', 'H':'tab:purple', 'I':'tab:brown', 'J':'tab:pink'} df.scatter(df['carat'], df['price'], c=df['color'].map(colors)) plt.show()</code>
Seaborn is a wrapper around Matplotlib that provides a more user-friendly interface. To create a scatter plot with different colors for categorical levels using Seaborn, follow these steps:
<code class="python">import seaborn as sns sns.scatterplot(x='carat', y='price', data=df, hue='color') plt.show()</code>
You can also use pandas.groupby and pandas.DataFrame.plot to create a scatter plot with different colors for categorical levels. This method requires more manual work, but it gives you more control over the plot's appearance.
<code class="python">import pandas as pd fig, ax = plt.subplots(figsize=(6, 6)) grouped = df.groupby('color') for key, group in grouped: group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key]) plt.show()</code>
The above is the detailed content of How to Create a Scatter Plot with Different Colors for Categorical Levels in Matplotlib, Seaborn, and Pandas?. For more information, please follow other related articles on the PHP Chinese website!