Matplotlib による無限線の可視化

Beginner

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

はじめに

Matplotlib は、データ分析用のビジュアライゼーションを作成するために使用される Python ライブラリです。このチュートリアルでは、Matplotlib で無限の線を描画するためのaxvlineaxhline、およびaxlineの使い方を学びます。

VM のヒント

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

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

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

垂直線と水平線を描画する

それぞれ垂直線と水平線を描画するために、axvlineaxhlineを使用することができます。y=0y=0.5、およびy=1.0に 3 本の水平線を描画してみましょう。

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

垂直線を描画する

指定されたx位置に垂直線を描画するために、axvlineを使用することができます。x=0に垂直線を描画してみましょう。

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Draw vertical line
plt.axvline(color="grey")

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

任意の線を描画する

任意の方向に線を描画するために、axlineを使用することができます。傾きが0.25で点(0, 0.5)を通る線を描画してみましょう。

import matplotlib.pyplot as plt
import numpy as np

## Generate data
t = np.linspace(-10, 10, 100)
sig = 1 / (1 + np.exp(-t))

## Draw horizontal lines
plt.axhline(y=0, color="black", linestyle="--")
plt.axhline(y=0.5, color="black", linestyle=":")
plt.axhline(y=1.0, color="black", linestyle="--")

## Draw vertical line
plt.axvline(color="grey")

## Draw arbitrary line
plt.axline((0, 0.5), slope=0.25, color="black", linestyle=(0, (5, 5)))

## Plot sigmoid function
plt.plot(t, sig, linewidth=2, label=r"$\sigma(t) = \frac{1}{1 + e^{-t}}$")
plt.xlim(-10, 10)
plt.xlabel("t")
plt.legend(fontsize=14)
plt.show()

対角線を描画する

固定された傾きの対角線を描画するために、transformパラメータを持つaxlineを使用することができます。固定された傾き0.5の対角線グリッド線を描画してみましょう。

import matplotlib.pyplot as plt
import numpy as np

## Draw diagonal lines
for pos in np.linspace(-2, 1, 10):
    plt.axline((pos, 0), slope=0.5, color='k', transform=plt.gca().transAxes)

plt.ylim([0, 1])
plt.xlim([0, 1])
plt.show()

まとめ

このチュートリアルでは、Matplotlib でaxvlineaxhline、およびaxlineを使用して無限の線を描画する方法を学びました。垂直線と水平線、任意の線、および固定された傾きの対角線を描画する方法を学びました。これらの関数は、特殊なデータ値をマーキングするため、またはデータ分析を支援するためのグリッド線を描画するために役立ちます。