ホームページ  >  記事  >  バックエンド開発  >  pandas と Matplotlib を使用して Python で列の値によって散布図を色付けする方法

pandas と Matplotlib を使用して Python で列の値によって散布図を色付けする方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-19 14:52:01751ブラウズ

How to Color Scatter Plots by Column Values in Python with pandas and Matplotlib?

パンダと Matplotlib を使用した Python の列値によるカラー散布図

はじめに

前述したように、ggplot2 は便利な機能を提供します美的カスタマイズにより、列の値に基づいて散布図に色を付けることができます。この記事では、pandas と Matplotlib を使用した Python の同等の機能について説明します。

Seaborn を使用した解決策

Python のデータ視覚化ライブラリである Seaborn は、この問題に対する洗練された解決策を提供します。

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

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create the scatter plot with color mapping
sns.relplot(data=data, x='Weight', y='Height', hue='Gender')</code>

このコードは relplot 関数を利用して散布図を作成し、色相パラメーターが Gender 列に基づいて色を割り当てます。

Matplotlib と Dictionary を使用した解決策

Matplotlib を直接使用したい場合は、カラー マッピング ディクショナリを作成し、それを使用して点に色を付けることができます。

<code class="python">import matplotlib.pyplot as plt
import numpy as np

# Load and clean the data
data = pd.read_csv('data.csv')
data['Gender'] = data['Gender'].astype('category')

# Create a color mapping dictionary
categories = np.unique(data['Gender'])
colors = np.linspace(0, 1, len(categories))
color_dict = dict(zip(categories, colors))

# Add a 'Color' column to the DataFrame
data['Color'] = data['Gender'].map(color_dict)

# Create the scatter plot
plt.scatter(data['Weight'], data['Height'], c=data['Color'])
plt.show()</code>

このアプローチでは、color_dict が各カテゴリに色を割り当てます。性別の列。 「Color」列が DataFrame に追加され、散布関数の c パラメーターはこの列を使用して各ポイントの色を決定します。

追加のカスタマイズ

Seaborn と Matplotlib の両方を使用すると、カラー パレットの調整や凡例の追加など、散布図をさらにカスタマイズできます。その他のオプションについては、ドキュメントを参照してください。

結論

Seaborn または Matplotlib を直接使用すると、Python で列の値によって散布図を簡単に色付けできます。 Seaborn は便利な高レベルのインターフェイスを提供し、Matplotlib はカスタマイズをより詳細に制御できます。上記のテクニックを活用すると、Python で有益で視覚的に魅力的な散布図を作成できます。

以上がpandas と Matplotlib を使用して Python で列の値によって散布図を色付けする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。