matplotlib / pyplot / 何か図形を描く Polygon(), Circle()

線を描くときはたとえば下のようにする。

import matplotlib.pyplot as plt

ax = plt.gca()
ax.set_aspect("equal")
line = plt.Polygon(((0,0), (5,5), (0,10)), closed=False, fill=False, color="r", linewidth=5)
ax.add_patch(line)
plt.axis("scaled")
plt.show()

f:id:ti-nspire:20180121173957p:plain:w200
 
――――――――――――――――――――――――――――
円をたくさん描くときはたとえば下のようにする。

import matplotlib.pyplot as plt

def drawCircle(x, y, radius):
    return plt.Circle((x,y), radius, fill=False)

def drawGraph(*patches):
    ax = plt.gca()          # 現在の Axes オブジェクトを取得する。
    ax.set_aspect("equal")  # その Axes オブジェクトの両軸を "equal" で等比にする。

    for patch in patches:
        ax.add_patch(patch) # その Axes オブジェクトにパッチをどんどん追加する。
        
    plt.axis("scaled")      # "scaled" で座標軸の両端を自動調整する。
    
    plt.show()


patch0 = drawCircle(0 ,0 ,0.5)
patch1 = drawCircle(5 ,5 ,1  )
patch2 = drawCircle(10,10,2  )

drawGraph(patch0, patch1, patch2)

f:id:ti-nspire:20180121165648p:plain:w200