等しい軸のアスペクト比

Beginner

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

はじめに

データ可視化においては、情報を正確かつ視覚的に魅力的な方法で提示することが重要です。これを達成するための 1 つの方法は、グラフの軸のアスペクト比を等しく設定することです。これにより、x 軸と y 軸が等しくスケーリングされ、データの比例した表現が得られます。このチュートリアルでは、Python の Matplotlib ライブラリを使用して、等しい軸のアスペクト比でグラフを設定および調整する方法を学びます。

VM のヒント

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

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

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

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

このチュートリアルで必要なライブラリをインポートして始めましょう。グラフを作成するために Matplotlib ライブラリと、データを生成するために NumPy ライブラリを使用します。

import matplotlib.pyplot as plt
import numpy as np

不等しい軸のアスペクト比で円を描画する

まず、等しい軸のアスペクト比を設定する重要性を示すために、不等しい軸のアスペクト比で円を描画します。

an = np.linspace(0, 2 * np.pi, 100)
fig, axs = plt.subplots(2, 2)

axs[0, 0].plot(3 * np.cos(an), 3 * np.sin(an))
axs[0, 0].set_title('not equal, looks like ellipse', fontsize=10)

結果のグラフは、不等しい軸のアスペクト比のために楕円のように見える円を表示します。

等しい軸のアスペクト比で円を描画する

等しい軸のアスペクト比を設定するには、axis('equal') 関数を使用できます。

axs[0, 1].plot(3 * np.cos(an), 3 * np.sin(an))
axs[0, 1].axis('equal')
axs[0, 1].set_title('equal, looks like circle', fontsize=10)

結果のグラフは、比例しており視覚的に魅力的な円を表示します。

等しい軸のアスペクト比を維持しながらグラフの範囲を調整する

等しい軸のアスペクト比を維持しながら、グラフの範囲を調整することもできます。

axs[1, 0].plot(3 * np.cos(an), 3 * np.sin(an))
axs[1, 0].axis('equal')
axs[1, 0].set(xlim=(-3, 3), ylim=(-3, 3))
axs[1, 0].set_title('still a circle, even after changing limits', fontsize=10)

結果のグラフは、範囲を変更した後も依然として比例した円を表示します。

等しい軸のアスペクト比に対してデータ範囲を自動調整する

等しい軸のアスペクト比に対してデータ範囲を自動調整するには、set_aspect('equal', 'box') 関数を使用することもできます。

axs[1, 1].plot(3 * np.cos(an), 3 * np.sin(an))
axs[1, 1].set_aspect('equal', 'box')
axs[1, 1].set_title('still a circle, auto-adjusted data limits', fontsize=10)

結果のグラフは、依然として比例しており視覚的に魅力的な円を表示します。

まとめ

このチュートリアルでは、Python の Matplotlib ライブラリを使って、等しい軸のアスペクト比でグラフを設定および調整する方法を学びました。等しい軸のアスペクト比を設定することで、グラフが比例しており視覚的に魅力的で、データの解釈が容易になります。