はじめに
この実験では、Matplotlib の.intersects_bbox関数を使って、矩形と交差する線の色を変える方法を学びます。矩形を作成し、それと交差するランダムな線を生成します。そして、交差する線の色を赤色に、残りの線の色を青色に変えます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
矩形を作成し、ランダムな線を生成するために、matplotlib.pyplot と numpy ライブラリをインポートします。
import matplotlib.pyplot as plt
import numpy as np
矩形を設定する
矩形の位置と寸法を、left、bottom、width、およびheight変数を使って定義します。そして、Rectangleクラスを使って矩形を作成し、add_patchメソッドを使ってそれをグラフに追加します。
left, bottom, width, height = (-1, -1, 2, 2)
rect = plt.Rectangle((left, bottom), width, height,
facecolor="black", alpha=0.1)
fig, ax = plt.subplots()
ax.add_patch(rect)
ランダムな線を生成する
numpyライブラリを使って 12 本のランダムな線を生成し、plotメソッドを使って描画します。線が矩形と交差する場合、その色は赤色になり、それ以外の場合は青色になります。線を作成するためにPathクラスを使い、矩形と交差するかどうかを確認するためにintersects_bboxメソッドを使います。
bbox = Bbox.from_bounds(left, bottom, width, height)
for i in range(12):
vertices = (np.random.random((2, 2)) - 0.5) * 6.0
path = Path(vertices)
if path.intersects_bbox(bbox):
color = 'r'
else:
color = 'b'
ax.plot(vertices[:, 0], vertices[:, 1], color=color)
グラフを表示する
showメソッドを使ってグラフを表示します。
plt.show()
まとめ
この実験では、Matplotlib の.intersects_bbox関数を使って、矩形と交差する線の色を変更する方法を学びました。矩形を作成し、それと交差するランダムな線を生成しました。そして、交差する線の色を赤色に、残りの線の色を青色に変更しました。