如何在Matplotlib中绘制模糊点?

如何在Matplotlib中绘制模糊点?

要在Matplotlib中绘制模糊点,可以按照以下步骤进行-

  • 设置图形大小并调整子图之间和周围的填充。

  • 创建一个新图或激活一个现有图。

  • ax1 添加到图形中作为子图安排的一部分。

  • 首先,我们可以制作一个标记,即要模糊化的内容。

  • 设置X和Y轴比例尺,关闭轴。

  • 将标记保存到文件中,并在模糊化后加载该图像以进行绘制。

  • 关闭前一个图形, fig1

  • 创建一个新图或激活一个现有图, fig2

  • 创建随机数据点x和y。

  • 应用高斯滤波器进行模糊,并将该艺术家添加到当前轴上。

  • 在ax2上设置X和Y轴比例尺。

  • 使用 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()

输出

如何在Matplotlib中绘制模糊点?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程