Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีแรสเตอร์พล็อตให้ดีขึ้นโดยไม่ทำให้ป้ายกำกับใน matplotlib เบลอ


ในการแรสเตอร์พล็อตในทางที่ดีขึ้นโดยไม่ทำให้ป้ายกำกับใน 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()

ผลลัพธ์

มันจะสร้างผลลัพธ์ต่อไปนี้ -

วิธีแรสเตอร์พล็อตให้ดีขึ้นโดยไม่ทำให้ป้ายกำกับใน matplotlib เบลอ

สังเกตว่า เนื่องจากเราไม่ได้ใช้ "อัลฟา" ใดๆ บนแกนที่ 2 และ 3 จึงมองไม่เห็นป้ายกำกับ