ในการตั้งค่าขอบสี่เหลี่ยม Matplotlib ให้อยู่นอกความกว้างที่ระบุ เราสามารถทำตามขั้นตอนต่อไปนี้ -
- กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
- สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่
- เพิ่มขวานให้กับร่างซึ่งเป็นส่วนหนึ่งของแผนย่อย
- เริ่มต้นตัวแปร line_width เพื่อตั้งค่าสี่เหลี่ยมผืนผ้านอกความกว้างที่ระบุ ใช้ตัวแปร xy, w และ h สำหรับจุดศูนย์กลาง ความกว้าง และความสูงของสี่เหลี่ยมผืนผ้า
- รับตัวอย่างสี่เหลี่ยมผืนผ้าที่มีจุดยึด xy และความสูงและความกว้าง
- รับอินสแตนซ์ของทรานส์ฟอร์มบ็อกซ์ออฟเซ็ต
- เพิ่มโปรแกรมแก้ไขศิลปิน r (ขั้นตอนที่ 5)
- รับคอนเทนเนอร์สำหรับอินสแตนซ์ OffsetBox
- เพิ่มกล่องคำอธิบายประกอบ ab ลงในกล่องคอนเทนเนอร์
- หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
import matplotlib.pyplot as plt from matplotlib.patches import Rectangle from matplotlib.offsetbox import AnnotationBbox, AuxTransformBox plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = fig.add_subplot(111) ax.plot([1, 6, 8, 6]) line_width = 7 xy, w, h = (1, 3), 2, 2 r = Rectangle(xy, w, h, fc='green', ec='orange', lw=3) offsetbox = AuxTransformBox(ax.transData) offsetbox.add_artist(r) ab = AnnotationBbox(offsetbox, (xy[0] + w /, xy[1] + w /), boxcoords="data", pad=0.52, fontsize=line_width, bboxprops=dict(facecolor="none", edgecolor='r', lw=line_width)) ax.add_artist(ab) plt.show()
ผลลัพธ์