この記事では、Python で散布図を作成する方法について説明しますmatplotlib を使用します。各色は異なるカテゴリレベルを表します。このアプローチでは、Python の seaborn や ggplot などの補助プロット パッケージの使用を回避します。
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) 関数は、「ダイヤモンド」の色を「プロット」の色にマップします。
この記事では焦点を当てていますが、 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>
手動アプローチの場合は、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 サイトの他の関連記事を参照してください。