テキスト矢印に注釈を付ける

Beginner

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

はじめに

このチュートリアルでは、Python の Matplotlib を使って、テキスト矢印付きの注釈付き散布図を作成する方法を説明します。

VM のヒント

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

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

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

ライブラリのインポートとランダムデータの生成

まず、必要なライブラリをインポートして、散布図用のいくつかのランダムデータを生成する必要があります。

import matplotlib.pyplot as plt
import numpy as np

## Fixing random state for reproducibility
np.random.seed(19680801)

fig, ax = plt.subplots(figsize=(5, 5))
ax.set_aspect(1)

x1 = -1 + np.random.randn(100)
y1 = -1 + np.random.randn(100)
x2 = 1. + np.random.randn(100)
y2 = 1. + np.random.randn(100)

ax.scatter(x1, y1, color="r")
ax.scatter(x2, y2, color="g")

グラフにテキスト注釈を追加する

次に、ax.text() 関数を使ってグラフにテキスト注釈を追加します。「サンプル A」用と「サンプル B」用の 2 つの注釈を作成します。

bbox_props = dict(boxstyle="round", fc="w", ec="0.5", alpha=0.9)
ax.text(-2, -2, "Sample A", ha="center", va="center", size=20,
        bbox=bbox_props)
ax.text(2, 2, "Sample B", ha="center", va="center", size=20,
        bbox=bbox_props)

方向を示すためのテキスト矢印を追加する

データの方向を示すために、ax.text() 関数と boxstyle を "rarrow" に設定した bbox パラメータを使って、テキスト矢印を追加します。

bbox_props = dict(boxstyle="rarrow", fc=(0.8, 0.9, 0.9), ec="b", lw=2)
t = ax.text(0, 0, "Direction", ha="center", va="center", rotation=45,
            size=15,
            bbox=bbox_props)

bb = t.get_bbox_patch()
bb.set_boxstyle("rarrow", pad=0.6)

グラフの表示範囲を設定してグラフを表示する

最後に、ax.set_xlim()ax.set_ylim()、および plt.show() 関数を使って、グラフの x 軸と y 軸の表示範囲を設定してグラフを表示します。

ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)

plt.show()

まとめ

このチュートリアルでは、Python の Matplotlib を使って、テキスト矢印付きの注釈付き散布図を作成する方法を学びました。グラフに注釈とテキスト矢印を追加するために ax.text() 関数を使用し、グラフの表示範囲を設定してグラフを表示するために ax.set_xlim()ax.set_ylim()、および plt.show() 関数を使用しました。