散布図とヒストグラムを持つ位置付け可能な軸

PythonPythonBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

データ可視化では、散布図を使って2つの変数間の関係を示します。また、ヒストグラムは単一の変数の分布を示すのに便利です。このチュートリアルでは、PythonのMatplotlibライブラリを使ってヒストグラム付きの散布図を作成する方法を学びます。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebookを使って練習しましょう。

時々、Jupyter Notebookが読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebookの制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリをインポートする

このステップでは、必要なライブラリをインポートします。

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.axes_grid1 import make_axes_locatable

ランダムなデータを作成する

このステップでは、散布図に使用するためのランダムなデータを作成します。

np.random.seed(19680801)
x = np.random.randn(1000)
y = np.random.randn(1000)

散布図を作成する

このステップでは、ステップ2のランダムなデータを使って散布図を作成します。

fig, ax = plt.subplots(figsize=(5.5, 5.5))
ax.scatter(x, y)
ax.set_aspect(1.)

ヒストグラムを作成する

このステップでは、mpl_toolkits.axes_grid1 からの make_axes_locatable を使って、x と y の変数に対するヒストグラムを作成します。

divider = make_axes_locatable(ax)
ax_histx = divider.append_axes("top", 1.2, pad=0.1, sharex=ax)
ax_histy = divider.append_axes("right", 1.2, pad=0.1, sharey=ax)

ax_histx.xaxis.set_tick_params(labelbottom=False)
ax_histy.yaxis.set_tick_params(labelleft=False)

binwidth = 0.25
xymax = max(np.max(np.abs(x)), np.max(np.abs(y)))
lim = (int(xymax/binwidth) + 1)*binwidth
bins = np.arange(-lim, lim + binwidth, binwidth)

ax_histx.hist(x, bins=bins)
ax_histy.hist(y, bins=bins, orientation='horizontal')

ax_histx.set_yticks([0, 50, 100])
ax_histy.set_xticks([0, 50, 100])

グラフを表示する

このステップでは、ヒストグラム付きの散布図を表示します。

plt.show()

まとめ

このチュートリアルでは、PythonのMatplotlibライブラリを使ってヒストグラム付きの散布図を作成する方法を学びました。まず必要なライブラリをインポートし、次に散布図用のランダムなデータを作成しました。次に、make_axes_locatableを使って散布図とヒストグラムを作成しました。最後に、グラフを表示しました。