【Python】DataFrameの列名に基づいてSeabornのボックスプロットに色を付ける方法
DataFrameの列名に基づいてSeabornのボックスプロットに色を付けることで、複数の列を視覚的に区別しやすくなります。ここでは、Matplotlibと組み合わせて、各列の名前を判定しながらボックスの塗りつぶし色を動的に変更する方法を解説します。
実装の手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- col1 と col2 の2つの列を持つPandasデータフレームを作成します。
- 水平方向(
orient='h')のボックスプロットを作成します。 ax.artistsからボックスのアーティストを取得します。- ボックスを反復処理し、列名に応じて
set_facecolor()で塗りつぶし色を設定します。 - 図を表示するには、
show()メソッドを使用します。
コード例
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame(
[[2, 4],
[7, 2]
], columns=['col1', 'col2'])
ax = sns.boxplot(data=df, orient='h')
boxes = ax.artists
for i, box in enumerate(boxes):
if 'col1' in df.columns[i]:
box.set_facecolor('r')
else:
box.set_facecolor('b')
plt.show()
出力結果
このコードを実行すると、水平方向のボックスプロットが表示されます。列名が「col1」であるボックスは赤(r)、それ以外の列は青(b)で塗りつぶされます。df.columns[i] の判定条件を変更すれば、任意の列名パターンに合わせて柔軟に配色をカスタマイズできます。
-
MatplotlibでRectangle(長方形)に色を設定する方法
Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show
-
Seabornで2つのグラフを横に並べてプロットする方法(Matplotlib)
データ分析では、複数のグラフを1つの図の中に並べて比較できると非常に便利です。この記事では、SeabornとMatplotlibを組み合わせて、2つのグラフを横並び(1行2列)で表示する方法を解説します。 実装の流れ 2つのグラフを並べて描画するには、以下の手順を実行します。 plt.subplots(1, 2) を使い、figureサイズ(7, 7)で1行2列のサブプロットを作成します。 Pandasを使って、col1 と col2 のキーを持つデータフレームを作成します。 countplot() メソッドを使用し、カテゴリごとの観測値の件数を棒グラフで可視化します。 subplots_a