Matplotlibで二変量の同時分布(ジョイント分布)を作成する方法
Matplotlibで二変量データの同時分布(ジョイント分布)を可視化したい場合、scatter()メソッドを使った散布図が最も手軽な方法です。散布図では、x軸とy軸にそれぞれの変数を配置することで、2つの変数の関係性や相関の強さを直感的に把握できます。
実装の手順
figure.figsizeで図のサイズを設定し、figure.autolayoutでサブプロット間や周囲の余白を自動調整します。NumPyを使ってxとyのデータポイントを生成します。ここでは正規乱数を利用し、yにxを加えることで相関のあるデータを作成します。
plt.subplots()でfigureオブジェクトとAxes(サブプロット)を作成します。scatter()メソッドでxとyをプロットします。
c引数で色分けに使う値を指定し、alpha引数で点の透明度を調整すると、密度の高い領域が見えやすくなります。show()メソッドを呼び出して図を表示します。
コード例
import numpy as np from matplotlib import pyplot as plt # 図のサイズとレイアウトの設定 plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # 相関のある2変量データを生成 x = 2 * np.random.randn(5000) y = x + np.random.randn(5000) # 散布図としてプロット fig, ax = plt.subplots() _ = ax.scatter(x, y, alpha=0.08, cmap="copper", c=x) plt.show()
出力結果
上記のコードを実行すると、xとyの同時分布を表す散布図が表示されます。点の色はxの値に応じて「copper」カラーマップでグラデーション表示され、透明度を下げているため、データが集中している領域ほど濃く描画され、分布の形状がひと目でわかります。

-
Matplotlibで任意のデータを使って4Dプロットを作成する方法
Matplotlibでは、x・y・z の3つの座標データに加え、c(色) を第4の次元として割り当てることで、いわゆる「4Dプロット」を実現できます。これは実際には3D散布図にカラーマップを組み合わせたものであり、点の位置が3次元情報を、色がもう1つの変数を表現します。以下の手順に従うことで、標準正規分布に従うランダムなデータポイントを使った4Dプロットを簡単に作成できます。手順figure() メソッドを使用して、新しい図を作成するか、既存の図をアクティブ化します。サブプロット構成の一部として、3D投影(projection=3d)を指定した Axes を追加します。NumPy を使って x
-
PythonのMatplotlibで中空(白抜き)の四角形マーカーを描画する方法
Matplotlibで中空(塗りつぶしなし)の四角形マーカーを描くには、マーカーの種類に ks を指定し、markerfacecolor=none、markersize=15、markeredgecolor=red を設定します。これにより、枠線だけの白抜きスタイルの四角形マーカーが描画されます。 各パラメータの意味 ks:k は黒色(black)、s は四角形(square)を表すマーカースタイルです。 markerfacecolor=none:マーカーの内部を塗りつぶさず、中空にします。 markersize(ms):マーカーのサイズを指定します(ここでは15)。 markeredgec