Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで矢印のような線を描画するには?quiver()メソッドの使い方

Matplotlibで矢印のような線(矢頭付きの線)を描きたい場合は、quiver()メソッドを使用します。quiver()は本来ベクトル場を可視化するための関数ですが、隣接するデータ点同士をつなぐ短いベクトルを連続して描くことで、矢印が連なった線として表現できます。

実装の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白を調整します。

  • NumPyを使ってx座標とy座標のデータポイントを作成します。

  • quiver()メソッドを使って矢印状の線を描画します。

  • show()メソッドで図を表示します。

コード例

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.linspace(-5, 5, 100)
y = np.sin(x)

plt.quiver(x[:-1], y[:-1], x[1:]-x[:-1], y[1:]-y[:-1], scale_units='xy', angles='xy', scale=1, color='red')

plt.show()

コードのポイント

この例では、np.linspace(-5, 5, 100)で-5から5までの範囲に100個の等間隔データ点を生成し、その正弦波(sin)を描画しています。

quiver()に渡している引数の意味は以下の通りです。

  • x[:-1], y[:-1]:各矢印の始点となる座標(最後の要素を除いた全データ点)。

  • x[1:]-x[:-1], y[1:]-y[:-1]:隣接するデータ点間の差分、つまり各矢印の方向と長さを表す成分。

  • scale_units='xy':矢印のスケール単位をデータ座標系(x・y軸)に合わせます。

  • angles='xy':矢印の角度もデータ座標系に基づいて計算します。

  • scale=1:差分ベクトルをそのままの長さで描画し、セグメントがつながった滑らかな線になります。

  • color='red':矢印の色を赤に指定しています。

出力結果

上記のコードを実行すると、正弦波のカーブに沿って赤い矢印が連なり、あたかも一本の矢印付きの線のように表示されます。データ点の数を増減させると、矢印の密度や滑らかさを調整することも可能です。

  1. MatplotlibでRectangle(長方形)に色を設定する方法

    Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show

  2. Python MatplotlibでY軸の値(目盛りラベル)を指定する方法

    PythonのMatplotlibでは、yticks()メソッドを使うことで、Y軸に表示する値や目盛りラベルを自由に指定できます。X軸の場合はxticks()を使用します。この記事では、具体的な手順とサンプルコードを通して、軸の目盛りをカスタマイズする方法を解説します。 Y軸の値を指定する手順 以下の手順で、Matplotlibのグラフに任意の目盛りラベルを設定できます。 numpyを使ってxおよびyのデータポイントを作成します。 軸に表示したい値として、文字列のリストを作成します。 xticks()メソッドとyticks()メソッドを使用し、それぞれX軸・Y軸の目盛りの位置とラベルを指定し