【Python入門】円の描画|matplotlibのCircleクラスを学ぶ

円の描画|matplotlibのCircleクラスを学ぶ_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

三角関数で定義される「円」は、Pythonで簡単に描画することができます。

本記事では、Pythonを使用した円の描画方法について、詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonを使用した円の描画方法について学びたい人
levtech-ad

円(Circle)

任意の点\(\left( x,y\right)\)を中心に持つ半径\(r\)の円の円周上の点は、下式で表されます。

\(\left( x+r\cos \theta ,y+r\sin \theta \right)\)

円描画関数の実装

中心座標と半径から円を描画する関数について、NumPyを使用した実装例をご紹介します。

#input
import numpy as np
import matplotlib.pyplot as plt

def draw_circle(ax, radius, P=(0,0), n=257,
                color="red", center_marker=True):

    theta = np.linspace(0, 2*np.pi, n)

    x = P[0] + radius * np.cos(theta)
    y = P[1] + radius * np.sin(theta)

    ax.set_xlabel("x", fontsize = 14)
    ax.set_ylabel("y", fontsize = 14)

    ax.plot(x, y, color=color)

上記関数を使用して、中心座標(-1, 1)、半径2の円をプロットしてみます。

#input
fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111)
ax.grid()
ax.set_title("Circle", fontsize = 16)
ax.set_xlim(-4, 4)
ax.set_ylim(-4, 4)

draw_circle(ax, radius=2, P=(-1, 1))
plt.show()
円の描画 その1

matplotlib.patches.Circle

Matplotlibのmatplotlib.patches.Circleクラスを使用すると、円形描画することができます。

引数として、中心座標、半径、塗りつぶしの色・透明度などを指定することができます。

以下に描画例をご紹介します。

#input
import matplotlib.pyplot as plt
import matplotlib.patches as pat

fig = plt.figure(figsize=(6, 6))

ax = fig.add_subplot(111)
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)

C = pat.Circle(xy = (0, 0), radius = 1, color = "lime")

ax.add_patch(C)
plt.show()
円の描画 その2

半透明にし、ハッチングした例を以下に載せます。

塗りつぶしの透明度は”alpha”で指定し、ハッチングは”hatch”で指定できます。

#input
import matplotlib.pyplot as plt
import matplotlib.patches as pat

fig = plt.figure(figsize=(6, 6))

ax = fig.add_subplot(111)
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)

C = pat.Circle(xy = (0, 0), radius = 1, color = "deeppink",
               alpha=0.5, hatch='O')

ax.add_patch(C)
plt.show()
円の描画 その3

塗りつぶしの色とエッジの色を指定することで、塗りつぶしのないシンプルな円を描画することができます。

塗りつぶしの色は、”fc”あるいは”face color”で、エッジの色は、”ec”あるいは”edge color”でそれぞれ指定します。

“color”の指定は、上記両方の色を上書きすることになります。

また、”lw”あるいは”linewidth”で線の太さを指定できます。

fcを白、ecを黒に指定し、太線でシンプルに円を描画した例を、以下にご紹介します。

#input
import matplotlib.pyplot as plt
import matplotlib.patches as pat

fig = plt.figure(figsize=(6, 6))

ax = fig.add_subplot(111)
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)

C = pat.Circle(xy = (0, 0), radius = 1, 
               fc = "white", ec = "black", lw = 5)
ax.add_patch(C)
plt.show()
円の描画 その4

まとめ

この記事では、Pythonを使用した円の描画方法について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました