Matplotlib の対称ログプロット

Beginner

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

はじめに

Matplotlib は、Python で広く使用されるデータ可視化ライブラリです。これにより、ユーザーは折れ線グラフ、散布図、棒グラフなど、さまざまな種類の可視化を作成できます。この実験では、Matplotlib の symlog 軸スケーリングを使用して対称ログプロットを作成する方法を学びます。

VM のヒント

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

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

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

ライブラリのインポート

始める前に、必要なライブラリをインポートする必要があります。この実験では、Matplotlib と NumPy を使用します。

import matplotlib.pyplot as plt
import numpy as np

データの生成

次に、プロットするためのデータを生成する必要があります。この例では、3 つの配列を作成します。1 つは x 軸の値用、1 つは最初のプロットの y 軸の値用、そして 1 つは 3 番目のプロットの y 軸の値用です。

dt = 0.01
x = np.arange(-50.0, 50.0, dt)
y1 = np.arange(0, 100.0, dt)
y3 = np.sin(x / 3.0)

プロットの作成

データが用意できたので、プロットを作成しましょう。異なる symlog 軸スケーリングを持つ 3 つのサブプロットを作成します。

fig, (ax0, ax1, ax2) = plt.subplots(nrows=3)

x 軸に symlog プロットを作成する

最初のサブプロットでは、x 軸に symlog プロットを作成します。また、x 軸に補助グリッドを追加します。

ax0.plot(x, y1)
ax0.set_xscale('symlog')
ax0.set_ylabel('symlogx')
ax0.grid()
ax0.xaxis.grid(which='minor')

y 軸に symlog プロットを作成する

2 番目のサブプロットでは、y 軸に symlog プロットを作成します。

ax1.plot(y1, x)
ax1.set_yscale('symlog')
ax1.set_ylabel('symlogy')

x 軸と y 軸の両方に symlog プロットを作成する

3 番目のサブプロットでは、x 軸と y 軸の両方に symlog プロットを作成します。また、linthresh パラメータを 0.015 に設定します。

ax2.plot(x, y3)
ax2.set_xscale('symlog')
ax2.set_yscale('symlog', linthresh=0.015)
ax2.grid()
ax2.set_ylabel('symlog both')

プロットを表示する

最後に、show() メソッドを使ってプロットを表示できます。

plt.show()

まとめ

この実験では、Matplotlib で symlog 軸スケーリングを使用して対称ログプロットを作成する方法を学びました。具体的には、x 軸、y 軸、および x 軸と y 軸の両方に symlog プロットを作成する方法を学びました。