Matplotlibで長さの異なるデータから箱ひげ図を作成する方法
Matplotlibで可変長データを使った箱ひげ図を作成する方法
Matplotlibでは、要素数(データ長)が異なる複数のデータセットでも、そのまま箱ひげ図(ボックスプロット)として描画できます。リストのリスト形式でデータを渡すだけで、各データセットごとに独立した箱ひげ図が表示されます。
作成手順
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- データポイントのリストを作成します。各リストの長さは異なっていても問題ありません。
- boxplot() メソッドを使用して箱ひげ図を作成します。
- 図を表示するには show() メソッドを使用します。
コード例
from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = [[2, 4, 1, 3], [0, 4, 3, 2], [0, 0, 1, 0]] plt.boxplot(data) plt.show()
この例では、それぞれ4つの要素を持つ3つのデータセットを1つのリストにまとめて boxplot() に渡しています。各データセットの長さが異なる場合でも、同じ方法でそのまま描画できます。
出力結果

実行すると、各データセットに対して中央値・四分位範囲・ひげ(データの分布範囲)が示された箱ひげ図が3つ並んで表示されます。これにより、複数グループ間のばらつきや外れ値をひと目で比較できます。
-
Matplotlibで漸近線・不連続点を含むグラフを正しく描画する方法
はじめにMatplotlibで y = 1/x のような関数をそのままプロットすると、x = 0 付近で値が発散し、グラフ上に不自然な縦線が表示されてしまうことがあります。これは数値計算では厳密な「無限大」を扱えず、0に極めて近い大きな値として計算されるためです。本記事では、numpyとMatplotlibを組み合わせて、漸近線(不連続点)を持つ関数を見やすく描画する手順を解説します。処理の手順numpyを使ってx・yのデータポイントを作成します。plt.axis(off) で軸の表示をオフにします。plot() メソッドでx・yのデータをもとに曲線を描画します。axhline() で水平方向
-
Matplotlibを使ってPythonで複数の図を横並びに描画する方法
Matplotlibで複数の図を並べて描画する手順 PythonのMatplotlibを使えば、subplot()メソッドを活用することで、複数の図を1つのウィンドウ内に横一列に並べて簡単に表示できます。ここでは、同じランダムデータを4種類のカラーマップで可視化する例を紹介します。 具体的には、以下の手順で実装します。 numpyを使ってランダムなデータ(5×5の行列)を作成します。 plt.subplot(nrows, ncols, index)で現在の図にサブプロットを追加します。今回は「nrows=1、ncols=4」のレイアウトで、index=1から順に配置していきます。 imsho