Вот еще одна работа вокруг. Вы можете отображать изображение в каждом месте вместо маркера, используя BboxImage
. Таким образом, вы можете размыть или манипулировать изображением любым удобным для вас способом. В этом руководстве содержится дополнительная информация об BboxImages.
import matplotlib.pyplot as plt
from scipy import ndimage
from matplotlib.image import BboxImage
from matplotlib.transforms import Bbox, TransformedBbox
import numpy as np
# Create and save an image with just a marker in it
fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
ax1.plot(0.5,0.5,'*',ms=200)
ax1.set_ylim(0,1)
ax1.set_xlim(0,1)
plt.axis('off')
fig1.savefig('marker.png')
# Read in the same marker image
marker = plt.imread('marker.png')
# New figure and data
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)
# Blur the marker and image plot the blurred image at each data point.
for xi, yi, sigmai in zip(x,y,sigma):
markerBlur = ndimage.gaussian_filter(marker,sigmai) # Blur the marker image
# Create an BboxImage for the blurred marker and add it to the plot.
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()
![график с размытым маркером](https://i.stack.imgur.com/h9ZsM.png)
person
Molly
schedule
30.07.2014