Home >Backend Development >Python Tutorial >How to Color-Code Scatter Plot Categories in Matplotlib?

How to Color-Code Scatter Plot Categories in Matplotlib?

Susan Sarandon
Susan SarandonOriginal
2024-10-17 16:39:02290browse

How to Color-Code Scatter Plot Categories in Matplotlib?

How to Plot Different Colors for Different Categorical Levels in Matplotlib

Problem

Given a DataFrame with categorical variables, you want to create a scatter plot where each category has its own color.

Solution with Matplotlib

To specify colors for different categories in Matplotlib, use the c argument in plt.scatter. This argument accepts an array of colors or a mapping that maps categories to colors.

Here's an example:

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

# Define a DataFrame
df = pd.DataFrame({'category': ['A', 'B', 'C'], 'value': [10, 20, 30]})

# Create the scatter plot
colors = {'A': 'red', 'B': 'green', 'C': 'blue'}
plt.scatter(df['category'], df['value'], c=df['category'].map(colors))
plt.show()</code>

This code assigns red, green, and blue colors to categories 'A', 'B', and 'C', respectively.

DataFrame GroupBy and Plotting

Alternatively, you can use DataFrame.groupby() and .plot() to achieve the same result:

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

df.groupby('category').plot(ax=ax, kind='scatter', x='category', y='value', color=colors)
plt.show()</code>

This code assumes the existence of a colors dictionary that maps categories to colors.

The above is the detailed content of How to Color-Code Scatter Plot Categories in Matplotlib?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn