Matplotlib を使用してさまざまなカテゴリレベルの異なる色をプロットするにはどうすればよいですか?

DDD
リリース: 2024-10-17 16:40:03
オリジナル
426 人が閲覧しました

How Do I Use Matplotlib to Plot Distinct Colors for Various Categorical Levels?

Matplotlib のみを使用して Python でさまざまなカテゴリレベルに異なる色をプロットする方法

はじめに

この記事では、Python で散布図を作成する方法について説明しますmatplotlib を使用します。各色は異なるカテゴリレベルを表します。このアプローチでは、Python の seaborn や ggplot などの補助プロット パッケージの使用を回避します。

Matplotlib を使用

Matplotlib は、色のカスタマイズを可能にする plt.scatter に c 引数を提供します。以下に例を示します。

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

# Sample DataFrame
df = pd.DataFrame({'carat': [0.23, 0.21, 0.23],
                    'price': [326, 326, 327],
                    'color': ['E', 'E', 'E']})

# Color mapping
colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'}

# Scatter plot with colors
plt.scatter(df['carat'], df['price'], c=df['color'].map(colors))
plt.show()</code>
ログイン後にコピー

map(colors) 関数は、「ダイヤモンド」の色を「プロット」の色にマップします。

seaborn を使用

この記事では焦点を当てていますが、 matplotlib では、seaborn も便利なソリューションを提供していることを言及する価値があります。

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

# Scatter plot with colors
sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>
ログイン後にコピー

with pandas.DataFrame.groupby & pandas.DataFrame.plot

手動アプローチの場合は、pandas を使用できます。色でグループ化し、各グループを個別にプロットするには:

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

# Sample DataFrame
df = pd.DataFrame({'carat': [0.23, 0.21, 0.23],
                    'price': [326, 326, 327],
                    'color': ['E', 'E', 'E']})

# Color mapping
colors = {'D': 'tab:blue', 'E': 'tab:orange', 'F': 'tab:green', 'G': 'tab:red', 'H': 'tab:purple', 'I': 'tab:brown', 'J': 'tab:pink'}

# Group by color and plot
grouped = df.groupby('color')
for key, group in grouped:
    group.plot(ax=plt.gca(), kind='scatter', x='carat', y='price', label=key, color=colors[key])

plt.show()</code>
ログイン後にコピー

これは、以前と同じ DataFrame を想定し、プロット プロセス中に手動で色を割り当てます。

結論

この記事Python で matplotlib を使用してさまざまなカテゴリ レベルに対してさまざまな色をプロットする方法と、seaborn を使用した追加オプションおよび pandas を使用した手動アプローチを示しました。

以上がMatplotlib を使用してさまざまなカテゴリレベルの異なる色をプロットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート