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

Matplotlibで2つのヒストグラムを並べて表示する方法【サンプルコード付き】


Matplotlibを使えば、2つのヒストグラムを簡単に横並びで表示できます。この記事では、Pandasのデータフレームを組み合わせて、1つの図の中に2つのヒストグラムを並べて描画する手順を解説します。

実装の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • 2次元・サイズ可変・異なる型を含みうる表形式データを持つ2つのデータフレーム df1df2 を作成します。
  • plt.subplots() で図とサブプロットのセットを生成します。
  • 各データフレーム(df1df2)のヒストグラムを描画します。
  • 図を表示するには show() メソッドを使用します。

コード例

from matplotlib import pyplot as plt
import pandas as pd

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

df1 = pd.DataFrame(dict(a=[1, 1, 1, 1, 3]))
df2 = pd.DataFrame(dict(b=[1, 1, 2, 1, 3]))

fig, axes = plt.subplots(1, 2)

df1.hist('a', ax=axes[0])
df2.hist('b', ax=axes[1])

plt.show()

出力結果

Matplotlibで2つのヒストグラムを並べて表示する方法【サンプルコード付き】

コードのポイント

plt.subplots(1, 2) は、1行2列のサブプロット(Axesオブジェクトの配列)を作成します。axes[0] が左側、axes[1] が右側のプロット領域に対応します。DataFrameの hist() メソッドに ax 引数を渡すことで、任意のサブプロット上にヒストグラムを描画できます。

また、figure.autolayoutTrue に設定しておくと、ラベルやタイトルが図の外にはみ出さないようレイアウトが自動調整されるため、複数のプロットを並べる際に便利です。この手法は、2つのデータセットの分布を視覚的に比較したい場合などに幅広く活用できます。

  1. 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

  2. Matplotlibで任意のデータを使って4Dプロットを作成する方法

    Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x