Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Matplotlibの箱ひげ図でボックスの幅を調整する方法

PythonのMatplotlibで箱ひげ図(ボックスプロット)を作成する際、ボックスの幅を調整したい場合は、boxplot()メソッドのwidths引数を使用します。この引数にタプルやリストを渡すことで、各ボックスの幅を個別に指定できます。

手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • Pandasのデータフレームを作成します。データフレームは2次元の、サイズ変更可能な表形式データ構造です。
  • boxplot()メソッドを使って箱ひげ図を作成し、widths引数にタプルを渡して各ボックスの幅を調整します。
  • show()メソッドを呼び出して図を表示します。

コード例

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

data = pd.DataFrame({"Box1": np.random.rand(10), "Box2": np.random.rand(10)})
ax = plt.boxplot(data, widths=(0.25, 0.5))

plt.show()

コードの解説

このコードでは、まずNumPyのnp.random.rand(10)を使って0から1までの一様乱数10個ずつを含む2つの列(Box1とBox2)を持つデータフレームを生成しています。

ポイントはwidths=(0.25, 0.5)の部分です。1つ目のボックス(Box1)の幅が0.25、2つ目のボックス(Box2)の幅が0.5に設定されるため、同じ図の中で異なる幅のボックスを比較しながら表示できます。

実行結果

上記のコードを実行すると、幅の異なる2つの箱ひげ図が1つの図に描画されます。左側のBox1は細いボックス、右側のBox2は太いボックスとして表示され、widths引数による幅の調整が正しく反映されていることが確認できます。

補足:widths引数の使い方のバリエーション

  • すべてのボックスを同じ幅にしたい場合は、単一の数値(例:widths=0.4)を指定することも可能です。
  • ボックスの数と同じ長さのタプルやリストを渡すことで、各ボックスごとに異なる幅を設定できます。
  • デフォルトの幅は0.5です。値を大きくするとボックス同士が接近し、小さくすると間隔が広がって見えます。
  1. Matplotlibで凡例のマーカーとラベルの間隔を調整する方法

    Matplotlibで凡例(legend)のマーカーとラベルの間隔を調整したい場合は、legend()メソッドのlabelspacing引数を使用します。この引数に数値を指定することで、凡例内の各行(マーカーとラベル)同士の縦方向のスペースを自由に広げたり狭めたりできます。手順Label 1、Label 2、Label 3というラベルを付けて、3本の線をプロットします。凡例のマーカーとラベルの間隔を調整するための変数spaceを定義します。legend()メソッドの引数にlabelspacing=spaceを指定して呼び出します。図を表示するには、plt.show()メソッドを使用します。サン

  2. 【Python】MatplotlibでX軸の値(目盛りラベル)を設定する方法

    Python の Matplotlib でグラフの X 軸の値(目盛りラベル)を自由に設定したい場合は、plt.xticks() メソッドを使うのが最も簡単です。以下の手順で実装できます。 X軸の値を設定する手順 x と y のデータポイントを格納する2つのリストを作成します。 range(len(x)) を使って、目盛りの基準となるインデックス(xticks の範囲)を取得します。 plot() メソッドで、インデックスのリストと y データを使って折れ線グラフを描画します。 xticks() メソッドを使い、デフォルトの目盛りを実際の X 軸の値に置き換えます。 show() メソッドで