2010-06-09 2 views

Répondre

6

Il est certainement possible. Voici un début:

import matplotlib, scipy 
fig = matplotlib.figure() 
ax = fig.add_axes([0.1,0.1,0.8,0.8]) 
axicon = fig.add_axes([0.4,0.4,0.1,0.1]) 
ax.plot(range(5), [4,2,3,5,1]) 
axicon.imshow(scipy.randn(100,100)) 
axicon.set_xticks([]) 
axicon.set_yticks([]) 
fig.show() 

Icon overlap http://up.stevetjoa.com/iconoverlap.png

Dans cet exemple, l'icône de position n'a pas été définie en termes de coordonnées de la parcelle (x, y); peut-être que quelqu'un d'autre peut aider avec ça. Néanmoins, j'espère que cet exemple est utile.

1

Voir le dolphin example — à l'origine a joke, mais il montre comment ajouter des graphiques vectoriels dans des tracés à diverses coordonnées.

1

Plusieurs années en retard, mais pour référence future.
J'ai trouvé que l'ajout d'un AnnotationBbox avec un OffsetImage dedans, a fait l'affaire pour moi. par exemple.

#!/usr/bin/env python 
import matplotlib 
matplotlib.use('WXAgg') 
import matplotlib.pyplot as plt 
from matplotlib.offsetbox import (OffsetImage,AnnotationBbox) 
from matplotlib.cbook import get_sample_data 
# The slices will be ordered and plotted counter-clockwise. 
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs' 
sizes = [15, 30, 45, 10] 
colors = ['yellowgreen', 'gold', 'lightskyblue', 'lightcoral'] 
explode = (0.1, 0, 0, 0) # explode a slice if required 
fig, ax = plt.subplots() 
ax.pie(sizes, explode=explode, labels=labels, colors=colors, 
     autopct='%1.1f%%', shadow=True) 
#Full path name to your image 
fn = get_sample_data("/home/rolf/bandwidth/bandwidth.png", asfileobj=False) 
arr_img = plt.imread(fn, format='png') 

imagebox = OffsetImage(arr_img, zoom=1.2) 
imagebox.image.axes = ax 
xy = [0.75, 0.95] 
ab = AnnotationBbox(imagebox, xy, 
        xybox=(120., -10.), 
        xycoords='data', 
        boxcoords="offset points", 
        pad=0.5, 
        ) 
ax.add_artist(ab) 

# Set aspect ratio to be equal so that pie is drawn as a circle. 
plt.axis('equal') 
plt.show() 

Déplacez l'image à propos dans la parcelle avec xy et xybox valeurs.

Pour en savoir plus qui peut être utile:
http://matplotlib.org/examples/pylab_examples/demo_annotation_box.html https://developer.ibm.com/clouddataservices/2016/10/06/your-own-weather-forecast-in-a-python-notebook/

Questions connexes