เพื่อหลีกเลี่ยงไม่ให้แถบข้อผิดพลาดทับซ้อนกันใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -
ขั้นตอน
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
สร้างรายชื่อ
-
รับจุดข้อมูลสำหรับ y1 และ y2 และข้อผิดพลาด ye1, ye2
-
สร้างร่างและชุดแผนย่อย
-
สร้างการเปลี่ยนแปลง 2D affine ที่ไม่แน่นอน trans1 และ trans2 .
-
พล็อต y กับ x เป็นเส้นและ/หรือเครื่องหมายพร้อมแถบข้อผิดพลาดที่แนบมา
-
หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
import numpy as np import matplotlib.pyplot as plt from matplotlib.transforms import Affine2D plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = ['Jack', 'James', 'Tom', 'Garry'] y1, y2 = np.random.randn(2, len(x)) ye1, ye2 = np.random.rand(2, len(x))*4+0.3 fig, ax = plt.subplots() trans1 = Affine2D().translate(-0.1, 0.0) + ax.transData trans2 = Affine2D().translate(0.1, 0.0) + ax.transData er1 = ax.errorbar(x, y1, yerr=ye1, marker="*", linestyle="none", transform=trans1) er2 = ax.errorbar(x, y2, yerr=ye2, marker="o", linestyle="none", transform=trans2) plt.show()
ผลลัพธ์
มันจะสร้างผลลัพธ์ต่อไปนี้ -