ในการสร้างลูกศรที่วนใน Matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -
- กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
- ในการสร้างลูกศรวนใน matplotlib เราสามารถใช้ make_loop() วิธีการ
- สร้างอินสแตนซ์ลิ่มด้วย กึ่งกลาง, รัศมี, theta1, theta2 และความกว้าง
- หากต้องการวางลูกศรไว้บนสุดของลูป ให้ใช้ PathCollection
- เพิ่มคอลเลกชั่นแพตช์ให้กับแกนปัจจุบัน
- หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
from matplotlib import pyplot as plt, patches, collections plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True def make_loop(center, radius, theta1=-30, theta2=180): rwidth = 0.02 ring = patches.Wedge(center, radius, theta1, theta2, width=rwidth) offset = 0.02 xcent = center[0] - radius + (rwidth / 2) left = [xcent - offset, center[1]] right = [xcent + offset, center[1]] bottom = [(left[0] + right[0]) / 2., center[1] - 0.05] arrow = plt.Polygon([left, right, bottom, left]) p = collections.PatchCollection( [ring, arrow], edgecolor='orange', facecolor='red' ) ax.add_collection(p) fig, ax = plt.subplots() make_loop(center=(.5, .7), radius=.1) plt.show()
ผลลัพธ์