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

Matplotlibで虹色の円(レインボーサークル)を描画する方法

Matplotlibを使えば、複数の同心円を虹の7色で塗り分けた「レインボーサークル」を簡単に描画できます。この記事では、plt.Circleクラスを活用して虹色の円をプロットする手順を、サンプルコード付きで解説します。

描画の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白を調整します。
  • figureオブジェクトとサブプロット(Axes)を作成します。
  • X軸・Y軸の表示範囲(スケール)を設定します。
  • 虹の7色(紫〜赤)のカラーリストを用意します。
  • 座標(0, 0)を中心とする真円を作成します。
  • 作成した円のインスタンス「c」をfigureに追加します。
  • show()メソッドを呼び出して図を表示します。

コード例

import matplotlib.pyplot as plt

# 図のサイズとレイアウトを設定
plt.rcParams["figure.figsize"] = [7.50, 5.50]
plt.rcParams["figure.autolayout"] = True

# figureとサブプロットを作成
fig, ax = plt.subplots()
plt.axis("equal")

# X軸・Y軸の表示範囲を設定
ax.set(xlim=(-10, 10), ylim=(-10, 10))

# 虹の7色で同心円を描画
for i in range(0, 7):
   rainbow = ['violet', 'indigo', 'blue', 'green', 'yellow', 'orange', 'red']
   c = plt.Circle((0, 0), 7-i, fill=True, color=rainbow[i])
   ax.add_artist(c)

plt.show()

コードのポイント

このコードでは、forループを使って半径7から1まで徐々に小さくなる円を順番に重ねて描いています。外側から「violet(紫)」「indigo(藍)」「blue(青)」「green(緑)」「yellow(黄)」「orange(橙)」「red(赤)」の順に色を指定することで、実際の虹と同じ配色の同心円が完成します。また、plt.axis("equal")を指定することで、X軸とY軸のスケールが等しくなり、円が正しい形(楕円にならない状態)で表示されます。

実行結果

上記のコードを実行すると、中心(0, 0)を共有する虹色の同心円が次のように表示されます。

Matplotlibで虹色の円(レインボーサークル)を描画する方法Matplotlibで虹色の円(レインボーサークル)を描画する方法

  1. Matplotlibで円の中に長方形をプロットする方法

    Matplotlibを使って円の中に長方形を描画したい場合、patchesモジュールが提供するRectangle()クラスとCircle()クラスを組み合わせることで簡単に実現できます。以下の手順に従ってください。手順figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドで現在の図にサブプロット(軸)を追加します。Rectangle()クラスとCircle()クラスを使って、長方形と円のインスタンスを作成します。add_patch()メソッドで作成したパッチを軸に追加します。xlim()およびylim()メソッドを使用して、x

  2. Matplotlibで虹のようなマルチカラーの線をプロットする方法

    Matplotlibで虹のようなマルチカラーの線をプロットするには、虹の7色(VIBGYOR)からなるカラーリストを作成し、その色を1つずつ使って複数の線を描画します。 手順 numpyを使ってデータポイント x を作成します。 虹の7色(VIBGYOR)のカラーリストを作成します。 カラーリストの長さの範囲で繰り返し処理を行います。 plot() メソッドを使い、x と y(x+i/20) を指定して線を描画します。マーカーは「o」、線幅は 7、色は colors[i](i はインデックス)を指定します。 図を表示するには show() メソッドを使用します。 コード例 import