2017-04-23 2 views
3

J'essaie d'utiliser Matplotlib en Python pour afficher une image et afficher le texte en divers points sur elle. Je voudrais rendre l'image partiellement transparente, afin d'augmenter la visibilité du texte.Définir la couleur d'arrière-plan derrière l'image dans matplotlib

Cependant, je veux la couleur de fond derrière l'image d'être blanc au lieu de gris et je ne peux pas comprendre comment obtenir ce changement de bâton. C'est là que je suis.

img = plt.imread("counties.png") 
fig, ax = plt.subplots() 
plt.axis('off') 
plt.text(.6, .68,'matplotlib', ha='center', va='center', 
transform=ax.transAxes, color=(0,.16,.48), fontname='Kanit Light') 
plt.text(.5, .5,'test', ha='center', va='center', transform=ax.transAxes, 
color=(0,.16,.48)) 
ax.imshow(img, alpha=0.05) 
plt.show() 
+0

Afficher l'image counties.png. – Serenity

Répondre

4

Pour définir la couleur du visage (ou la couleur d'arrière-plan) d'une figure utiliser cette fonction:

fig.patch.set_facecolor('grey') 

Ou d'une autre façon, vous pouvez appeler:

plt.rcParams['figure.facecolor'] = 'grey' 

Le résultat est comme: enter image description here

Toutefois, sans résultat de votre image est incomplète. Mais si vous allez enregistrer votre commande use figure comme ceci: plt.savefig('counties2.png', facecolor = fig.get_facecolor(), transparent = True)