matplotlib之橢圓

matplotlib庫之patch

patch適用于繪制各種形狀相關(guān)的圖形

通過設(shè)置facecolor, edgecolor, 以及color參數(shù)等實現(xiàn)不同的顏色填充

from matplotlib import pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse

# kw設(shè)置橫縱坐標(biāo)刻度相同
fig, ax = plt.subplots(1, 2, subplot_kw={"aspect": "equal"})

angle = np.linspace(0, 135, 4)
ellipse = [Ellipse((2, 2), 4, 2, a) for a in angle]

# sub[121]

ax[0].axis([-1, 5, -1, 5])
for E in ellipse:
    ax[0].add_patch(E)
    E.set_edgecolor("black")
    E.set_facecolor("w")
    E.set_alpha(0.4)

# sub[122]
ellipse = [Ellipse((2, 2), 4, 2, a) for a in angle]
ax[1].axis([-1, 5, -1, 5])
for elle in ellipse:
    ax[1].add_patch(elle)
    elle.set_alpha(0.4)
    elle.set_color("b")

plt.show()

隨機生成x,y在10以內(nèi)的橢圓,并且長和高度隨機在(0, 1), 角度隨機

import numpy as np
from matplotlib import pyplot as plt
from matplotlib.patches import Ellipse


fig, ax = plt.subplots(subplot_kw={"aspect": "equal"})

num = [i for i in range(10)]  # 需要生成10個橢圓

# 橢圓
ellipse = [Ellipse(xy=np.random.rand(2)*10, width=np.random.rand(1),
                   height=np.random.rand(1), angle=np.random.rand(1)*360) for i in num]

for elle in ellipse:
    ax.add_patch(elle)
    elle.set_color("b")
    elle.set_alpha(0.4)

ax.axis([-1, 11, -1, 11])

plt.show()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容