ホームページ > バックエンド開発 > Python チュートリアル > Matplotlib、Seaborn、および Pandas でカテゴリレベルに対して異なる色の散布図を作成する方法

Matplotlib、Seaborn、および Pandas でカテゴリレベルに対して異なる色の散布図を作成する方法

Barbara Streisand
リリース: 2024-10-17 16:34:02
オリジナル
458 人が閲覧しました

How to Create a Scatter Plot with Different Colors for Categorical Levels in Matplotlib, Seaborn, and Pandas?

カテゴリ レベルに異なる色を使用した散布図

Matplotlib の使用

Matplotlib を使用して、異なるカテゴリ レベルが異なる色で表される散布図を作成するには、次の手順に従います:

  1. Matplotlib とプロットするデータ フレームをインポートします。
  2. カテゴリレベルをプロット色にマップする辞書を定義します。
  3. 使用します。 plt.scatter、x と y の値、および色を指定する c 引数を渡します。
<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 の使用

Seaborn は、より多くの機能を提供する Matplotlib のラッパーです。ユーザーフレンドリーなインターフェイス。 Seaborn を使用してカテゴリ レベルに異なる色を使用した散布図を作成するには、次の手順に従います。

  1. Seaborn とプロットするデータ フレームをインポートします。
  2. seaborn.scatterplot を使用して、 x と y の値と hue パラメーターでカテゴリカル レベルを指定します。
<code class="python">import seaborn as sns

sns.scatterplot(x='carat', y='price', data=df, hue='color')

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

pandas.groupby と pandas.DataFrame.plot を使用する

pandas を使用することもできます。 groupby と pandas.DataFrame.plot を使用して、カテゴリレベルごとに異なる色で散布図を作成します。この方法ではより多くの手動作業が必要ですが、プロットの外観をより詳細に制御できます。

  1. パンダとプロットするデータ フレームをインポートします。
  2. データ フレームをグループ化します。カテゴリ レベル。
  3. グループを反復処理し、それぞれを異なる色でプロットします。
<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>
ログイン後にコピー

以上がMatplotlib、Seaborn、および Pandas でカテゴリレベルに対して異なる色の散布図を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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