ในการแรสเตอร์พล็อตในทางที่ดีขึ้นโดยไม่ทำให้ป้ายกำกับใน matplotlib เบลอ เราสามารถทำตามขั้นตอนต่อไปนี้
ขั้นตอน
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
สร้างร่างและชุดแผนย่อย
-
แกน 0 – เติมพื้นที่ระหว่างเส้นโค้งด้วย อัลฟา และ rasterized=False .
-
เพิ่มข้อความลงในแกน
-
แกน 1 – เติมพื้นที่ระหว่างเส้นโค้งด้วย อัลฟา และ rasterized=True .
-
เพิ่มข้อความลงในแกน
-
แกน 2 และ 3 – เติมพื้นที่ระหว่างเส้นโค้งโดยไม่มี อัลฟ่า และ rasterized=True และ เท็จ ตามลำดับ
-
เพิ่มข้อความลงในแกน
-
หากต้องการแสดงรูป ให้ใช้ แสดง() วิธีการ
ตัวอย่าง
import matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True fig, axes = plt.subplots(nrows=4, sharex=True) axes[0].fill_between(np.arange(1, 10), 1, 2, zorder=-1, alpha=0.2, rasterized=False) axes[0].text(5, 1.5, "Label 1", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True) axes[1].fill_between(np.arange(1, 10), 1, 2, zorder=-1, alpha=0.2, rasterized=True) axes[1].text(5, 1.5, "Label 2", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True) axes[2].fill_between(np.arange(1, 10), 1, 2, zorder=-1, rasterized=True) axes[2].text(5, 1.5, "Label 3", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True) axes[3].fill_between(np.arange(1, 10), 1, 2, zorder=-1, rasterized=False) axes[3].text(5, 1.5, "Label 4", ha='center', va='center', fontsize=25, zorder=-2, rasterized=True) plt.show()
ผลลัพธ์
มันจะสร้างผลลัพธ์ต่อไปนี้ -
สังเกตว่า เนื่องจากเราไม่ได้ใช้ "อัลฟา" ใดๆ บนแกนที่ 2 และ 3 จึงมองไม่เห็นป้ายกำกับ