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

【Python】Matplotlibでマーカーの向き(回転)を制御する方法

Matplotlibでは、marker引数に「(辺の数, スタイル, 回転角)」という形式のタプルを渡すことで、マーカーの向き(回転)を自由に制御できます。この記事では、実際のコード例を通じて、複数のマーカーを異なる角度に回転させてプロットする方法を解説します。

実装の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白を調整します。
  • numpy を使って x および y のデータポイントを作成します。
  • 10種類の異なる回転角を持つ配列を作成します。
  • x、y、i を zip 関数で結合し、for文で反復処理しながら、タプル形式の marker を指定して plot() メソッドで点をプロットします。
  • 最後に show() メソッドで図を表示します。

コード例

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.random.rand(10)
y = np.random.rand(10)
i = np.linspace(0, 10, 10)
for x, y, i in zip(x, y, i):
    plt.plot(x, y, marker=(3, 0, i*45), linestyle='None', markersize=20)
plt.show()

コードのポイント

この例では、marker=(3, 0, i*45) としています。各要素の意味は以下の通りです。

  • 第1引数(3):マーカーの辺の数。3は三角形を意味します。
  • 第2引数(0):スタイルの指定。0の場合は通常の塗りつぶし形状になります。
  • 第3引数(i*45):マーカーの回転角(度)。ここでは i の値に応じて45度ずつ回転させた三角形を描画しています。

また、linestyle='None' を指定することで線を非表示にし、マーカーのみを表示しています。markersize=20 でマーカーのサイズを大きくすることで、回転の違いが視覚的にわかりやすくなります。

実行結果

上記のコードを実行すると、ランダムな位置に配置された10個の三角形マーカーが、それぞれ異なる角度で回転して表示されます。このように、タプル形式の marker 引数を活用すれば、マーカーの形状だけでなく向きまで細かく制御することが可能です。

  1. Matplotlibでpcolormeshをアニメーション化する方法【コード例付き解説】

    Matplotlibでpcolormesh(擬似カラープロット)をアニメーション化する方法を、具体的な手順とサンプルコード付きで解説します。 アニメーション化の基本的な流れ pcolormeshをアニメーションさせるには、以下の手順に従います。 figureオブジェクトとサブプロットを作成する numpyを使ってx、y、tのデータポイントを生成する meshgrid関数で座標ベクトルから座標行列(X3、Y3、T3)を作成する pcolormesh()メソッドを使って、不規則な矩形グリッド上に擬似カラープロットを描画する カラーバーをfigureに追加する FuncAnimationクラスを使

  2. Matplotlibで2本の点線をプロットする方法|マーカー・線種・凡例の設定も解説

    はじめに この記事では、Pythonの可視化ライブラリ「Matplotlib」を使って、2本の線を1つのグラフに描画し、それぞれに異なる線種(点線・破線)や色、太さを設定する方法を解説します。 コーディングを始める前に、まず次のコマンドでMatplotlibをインポートしておきましょう。 import matplotlib.pyplot as plt Pyplotは、MatplotlibをMATLABのように直感的に操作できるようにするためのコマンドスタイル関数のコレクションです。グラフの描画からラベル付けまで、ほとんどの操作をこのモジュール経由で行います。 アルゴリズム(処理の流れ) ステ