MatplotlibとSeabornのカウントプロットで表示するグループ数を制限する方法
Seabornのカウントプロット(countplot)で表示されるグループの数を制限したい場合、countplot()メソッドの引数で使用できる変数group_countを活用すると簡単に実現できます。
手順
図(figure)と2つのサブプロットを作成します。
Pandasを使って、複数のキー(列)を持つデータフレームを作成します。
グループ数を制限するための変数group_countを初期化します。
countplot()メソッドを使用して、各カテゴリビンごとの観測値の数を棒グラフとして表示します。このとき、
order引数にgroup_countを適用することで、表示するグループ数を制御します。サブプロット間および周囲の余白(パディング)を調整します。
コード例
import pandas as pd import numpy as np import seaborn as sns from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True f, axes = plt.subplots(1, 2) df = pd.DataFrame(dict(col1=np.linspace(1, 10, 5), col2=np.linspace(1, 10, 5), col3=np.linspace(1, 10, 5))) group_count = 1 sns.countplot(df.col1, x='col1', color="red", ax=axes[0], order=df.col1.value_counts().iloc[:group_count].index) sns.countplot(df.col2, x="col2", color="green", ax=axes[1], order=df.col2.value_counts().iloc[:group_count].index) plt.tight_layout() plt.show()
実行結果

ポイント解説
このコードの重要な部分は、order=df.col1.value_counts().iloc[:group_count].indexの箇所です。value_counts()で各カテゴリの出現回数を集計し、iloc[:group_count]によって上位group_count件のみを抽出しています。これにより、出現頻度の高いカテゴリだけをプロットに表示でき、グラフがすっきりと見やすくなります。
また、group_countの値を変更するだけで表示するグループ数を柔軟に調整できるため、大量のカテゴリデータを扱う際にも便利です。
-
MatplotlibでSeabornプロットの凡例(レジェンド)のフォントサイズを大きくする方法
Seabornプロットの凡例(レジェンド)のフォントサイズを大きくしたい場合は、fontsize変数を定義し、それをlegend()メソッドの引数として渡すことで実現できます。手順Pandasを使ってデータフレームを作成します。キーは「number」「count」「select」とします。Seabornのbarplot()メソッドを使って棒グラフを描画します。凡例のフォントサイズを大きくするための変数fontsizeを初期化します。legend()メソッドを使い、fontsizeを引数に指定して図上に凡例を配置します。図を表示するには、show()メソッドを使用します。サンプルコードimpor
-
Matplotlibで軸ラベルと凡例に下付き文字(サブスクリプト)を表示する方法
Matplotlibでは、TeX/LaTeX形式の数式記法($...$)を利用することで、軸ラベルや凡例に下付き文字(サブスクリプト)や上付き文字(スーパースクリプト)を簡単に表示できます。この記事では、その具体的な手順をコード例とともに解説します。 実装手順 データの作成: NumPyを使ってxとyのデータポイントを作成します。 プロット: 上付き文字を含むラベルを付けて、xとyのデータポイントをプロットします。 軸ラベルの設定: 下付き文字を含むテキストで xlabel() と ylabel() を使用します。 凡例の配置: legend() メソッドを使ってプロットに凡例を配置します