はじめに
Matplotlib は、Python で幅広い静的、アニメーション、インタラクティブなデータ可視化を作成できる Python データ可視化ライブラリです。この実験では、Matplotlib を使用してプロットにハイパーリンクを追加する方法を学びます。この実験が終了するとき、Matplotlib の散布図や画像にハイパーリンクを追加できるようになります。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使用して練習します。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
始める前に、この実験に必要なライブラリをインポートする必要があります。matplotlib.pyplot、numpy、およびmatplotlib.cmを使用します。
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cm as cm
ハイパーリンク付きの散布図を作成する
このステップでは、散布図を作成し、マーカーにハイパーリンクを追加します。散布図を作成するコードは次のとおりです。
fig = plt.figure()
s = plt.scatter([1, 2, 3], [4, 5, 6])
ハイパーリンクを追加するには、散布図オブジェクトのset_urls()メソッドを使用します。このメソッドは、URL のリストを引数として取ります。更新されたコードは次のとおりです。
s.set_urls(['https://www.bbc.com/news', 'https://www.google.com/', None])
最初の 2 つのマーカーはそれぞれhttps://www.bbc.com/newsとhttps://www.google.com/へのハイパーリンクを持ちます。3 番目のマーカーはハイパーリンクを持ちません。最後に、fig.savefig()を使用してプロットを SVG ファイルとして保存できます。
fig.savefig('scatter.svg')
ハイパーリンク付きの画像を作成する
このステップでは、画像を作成し、それにハイパーリンクを追加します。画像を作成するコードは次のとおりです。
fig = plt.figure()
delta = 0.025
x = y = np.arange(-3.0, 3.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2
im = plt.imshow(Z, interpolation='bilinear', cmap=cm.gray,
origin='lower', extent=[-3, 3, -3, 3])
画像にハイパーリンクを追加するには、画像オブジェクトのset_url()メソッドを使用します。このメソッドは、URL を引数として取ります。更新されたコードは次のとおりです。
im.set_url('https://www.google.com/')
画像はhttps://www.google.com/へのハイパーリンクを持ちます。最後に、fig.savefig()を使用してプロットを SVG ファイルとして保存できます。
fig.savefig('image.svg')
コードを実行する
Python 環境でコードを実行します。2 つの SVG ファイルが生成されるはずです。scatter.svgとimage.svgです。これらのファイルを開き、散布図と画像のマーカーの上にマウスを置きます。ハイパーリンクが表示されるツールチップが表示されるはずです。
まとめ
この実験では、Matplotlib の散布図と画像にハイパーリンクを追加する方法を学びました。散布図にはset_urls()メソッドを、画像にはset_url()メソッドを使用しました。プロットにハイパーリンクを追加することは、視聴者に追加情報やリソースを提供したい場合に役立ちます。