亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

matplotlib 隱藏矩形的某些部分

matplotlib 隱藏矩形的某些部分

LEATH 2021-12-08 16:08:12
我試圖隱藏或刪除超出“outer_arc_left”和“outer_arc_right”的“outer_rect”部分,以重新創建溜冰場。謝謝你。from matplotlib.patches import Rectangle, Arcdef draw_rink(ax=None, color='black', lw=2, outer_lines=False):    if ax is None:        ax = plt.gca()    outer_rect = Rectangle((-1500, 3000), 3000, 3000, linewidth=lw, color=color, fill=False)    outer_arc_left = Arc((-700, 5200), 1600, 1600, theta1=90, theta2=180, linewidth=lw, color=color)    outer_arc_right = Arc((700, 5200), 1600, 1600, theta1=0, theta2=90, linewidth=lw, color=color)    rink_elements = [outer_rect, outer_arc_left, outer_arc_right]    for element in rink_elements:        ax.add_patch(element)    return ax
查看完整描述

1 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

如果沒有明確定義要隱藏的部分,則很難“隱藏補丁的一部分”。您可以創建一條路徑并將其用作clip_path但它的作用更像是一個蒙版,例如矩形的邊緣將被裁剪。定義該路徑將是棘手的一點。


但是我們可以反過來:如果您無論如何需要定義路徑,您可以簡單地使用該路徑作為您想要顯示的形狀。


import matplotlib.pyplot as plt

from matplotlib.path import Path

from matplotlib.patches import PathPatch


x = [1,1,1,2,3,4,4,4,1]

y = [0,1,2,2,2,2,1,0,0]

verts = list(zip(x,y))

codes = [1,2,3,3,2,3,3,2,2]

path = Path(verts,codes)

patch = PathPatch(path)

plt.gca().add_patch(patch)


plt.gca().autoscale()

plt.show()

http://img1.sycdn.imooc.com//61b068070001756b03990268.jpg

查看完整回答
反對 回復 2021-12-08
  • 1 回答
  • 0 關注
  • 266 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號