ในการพล็อตจุดที่เบลอใน matplotlib เราสามารถทำตามขั้นตอนต่อไปนี้ -
-
กำหนดขนาดรูปและปรับช่องว่างภายในระหว่างและรอบๆ แผนผังย่อย
-
สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขใหม่ที่มีอยู่
-
เพิ่ม ax1 ไปที่ร่างซึ่งเป็นส่วนหนึ่งของการจัดโครงเรื่องย่อย
-
ขั้นแรก เราสามารถสร้างเครื่องหมาย กล่าวคือ ให้เบลอได้
-
ตั้งค่ามาตราส่วนแกน X และ Y ปิดแกน
-
บันทึกเครื่องหมายในไฟล์ และโหลดภาพนั้นเพื่อลงจุดหลังจากเบลอ
-
ปิดตัวเลขก่อนหน้า fig1 .
-
สร้างตัวเลขใหม่หรือเปิดใช้งานตัวเลขที่มีอยู่ fig2 .
-
สร้างจุดข้อมูลแบบสุ่ม x และ y
-
ใช้ตัวกรองเกาส์เซียนเพื่อทำให้เบลอ ให้เพิ่มศิลปินนั้นบนแกนปัจจุบัน
-
ตั้งค่ามาตราส่วนแกน X และ Y บน ax2 .
-
หากต้องการแสดงรูป ให้ใช้ show() วิธีการ
ตัวอย่าง
import matplotlib.pyplot as plt from scipy import ndimage from matplotlib.image import BboxImage from matplotlib.transforms import Bbox, TransformedBbox import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig1 = plt.figure() ax1 = fig1.add_subplot(111) ax1.plot(0.5, 0.5, 'd', ms=200) ax1.set_ylim(0, 1) ax1.set_xlim(0, 1) plt.axis('off') fig1.savefig('marker.png') marker = plt.imread('marker.png') plt.close(fig1) fig2 = plt.figure() ax2 = fig2.add_subplot(111) x = 8 * np.random.rand(10) + 1 y = 8 * np.random.rand(10) + 1 sigma = np.arange(10, 60, 5) for xi, yi, sigmai in zip(x, y, sigma): markerBlur = ndimage.gaussian_filter(marker, sigmai) bb = Bbox.from_bounds(xi, yi, 1, 1) bb2 = TransformedBbox(bb, ax2.transData) bbox_image = BboxImage(bb2,norm=None,origin=None, clip_on=False) bbox_image.set_data(markerBlur) ax2.add_artist(bbox_image) ax2.set_xlim(0, 10) ax2.set_ylim(0, 10) plt.show()
ผลลัพธ์