Je réalise des illustrations pour mon papier en python en utilisant la bibliothèque matplotlib
. Dans cette illustration j'ai beaucoup de lignes, de polygones, de cercles etc. Mais je veux aussi insérer une image de .png
de l'extérieur.Insérer/ajuster png dans plot [matplotlib]
Voici ce que je suis en train de le faire jusqu'à présent:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Polygon
fig, ax = plt.subplots()
plt.tick_params(axis='x', which='both', bottom='off', top='off', labelbottom='off')
ax.axis('off')
# drawing circle
ax.add_patch(
plt.Circle((0, 0), 0.5, color = 'black')
)
# drawing polygon
ax.add_patch(
Polygon(
[[0,0], [20, 15], [20, 40]],
closed=True, fill=False, lw=1)
)
# importing image
im = plt.imread("frame.png")
# defining image position/size
rect = 0.5, 0.4, 0.4, 0.4 # What should these values be?
newax = fig.add_axes(rect, anchor='NE', zorder=1)
newax.imshow(im)
newax.axis('off')
ax.set_aspect(1)
ax.set_xlim(0, 60)
ax.set_ylim(0, 40)
plt.show()
La question est, comment puis-je déterminer les valeurs de rect = 0.5, 0.4, 0.4, 0.4
? Par exemple, je veux que le coin inférieur gauche de mon .png
soit au point [20, 15]
et je veux que sa hauteur soit 25
.
C'est l'image résultante:
Mais je veux ce cadre factice à ajuster à mes points de polygone, comme celui-ci (celui-ci est modifiée dans Photoshop):
PS Voici le link au frame.png
pour expérimenter avec.
Merci, cela a fonctionné pour moi. Je ne pensais pas que la réponse serait aussi simple que ça. De toute façon, excusez-moi si la question était trop stupide. –