この記事では、Python の matplotlib ライブラリで散布図を作成するためのさまざまな方法を検討します。データ ポイントは、さまざまなカテゴリ レベルに基づいて色分けされます。
matplotlib は、色のカスタマイズを可能にする plt.scatter() の C パラメーターを提供します。このパラメータは、カテゴリ値を色にマッピングするリストまたは辞書に設定できます。
<code class="python">import matplotlib.pyplot as plt import pandas as pd # Load data df = pd.read_csv("diamonds.csv") # Create a color map colors = {'D':'tab:blue', 'E':'tab:orange', 'F':'tab:green', 'G':'tab:red', 'H':'tab:purple', 'I':'tab:brown', 'J':'tab:pink'} # Plot data with color mapping plt.scatter(df['carat'], df['price'], c=df['color'].map(colors)) plt.show()</code>
Seaborn は、matplotlib で統計グラフィックを作成するための簡潔な API を提供するライブラリです。 seaborn を使用して色分けされたデータ ポイントを含む散布図を作成するには、回帰を無効にするために fit_reg=False を指定して sns.lmplot() 関数を使用します。
<code class="python">import seaborn as sns # Plot data with color-coding sns.lmplot(x='carat', y='price', data=df, hue='color', fit_reg=False)</code>
Seaborn を使用したくない場合は、pandas.groupby() と pandas.DataFrame.plot() を使用して手動で同じ結果を得ることができます。この方法では、データを色でグループ化し、各グループを指定した色で個別にプロットします。
<code class="python">fig, ax = plt.subplots() grouped = df.groupby('color') for key, group in grouped: group.plot(ax=ax, kind='scatter', x='carat', y='price', label=key, color=colors[key])</code>
これらの手法を実装すると、異なるカテゴリ レベル間の関係を視覚的に表す有益な散布図を作成できます。
以上がMatplotlib と Seaborn でさまざまなデータ カテゴリを色でプロットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。