Comment avez-vous afficher le texte de l'étiquette dans le carré de la légende? (par exemple, supprimer une étiquette de ligne dans la légende)
J'en veux pour preuve le texte de la ligne de l'étiquette dans la légende, mais pas trop (Comme illustré dans la figure ci-dessous):
J'ai essayé de réduire au maximum la légende de la ligne et de l'étiquette, et de remplacer seulement la nouvelle-étiquette (comme dans le code ci-dessous). Cependant, la légende apporte à la fois du dos.
legend = ax.legend(loc=0, shadow=False)
for label in legend.get_lines():
label.set_linewidth(0.0)
for label in legend.get_texts():
label.set_fontsize(0)
ax.legend(loc=0, title='New Title')
Vous pouvez définir la
Merci @jonrsharpe j'avais essayé de code en minimisant la ligne et de l'étiquette et de remplacer uniquement l'étiquette, mais la légende apporte à la fois de retour-> légende = ax.légende(loc=0, ombre=False) pour le label dans la légende.get_lines(): étiquette.set_linewidth(0.0) pour le label dans la légende.get_texts(): étiquette.set_fontsize(0) ax.légende(loc=0, title= "Nouveau Titre")
Vous devez éditer votre question afin d'inclure ce code. Il est non-lisible dans un commentaire.
Salut @tcaswell merci, j'ai accepté la réponse (deuxième partie de "Joe kingston portant'). Encore vous me voulez modifier la question. Merci
Oui, afin que les futures utilisations peuvent comprendre ce que vous demandez, de sorte qu'ils peuvent dire si c'est le problème qu'il rencontre
legend.handlelength
à 0
- voir par exemple ici.Merci @jonrsharpe j'avais essayé de code en minimisant la ligne et de l'étiquette et de remplacer uniquement l'étiquette, mais la légende apporte à la fois de retour-> légende = ax.légende(loc=0, ombre=False) pour le label dans la légende.get_lines(): étiquette.set_linewidth(0.0) pour le label dans la légende.get_texts(): étiquette.set_fontsize(0) ax.légende(loc=0, title= "Nouveau Titre")
Vous devez éditer votre question afin d'inclure ce code. Il est non-lisible dans un commentaire.
Salut @tcaswell merci, j'ai accepté la réponse (deuxième partie de "Joe kingston portant'). Encore vous me voulez modifier la question. Merci
Oui, afin que les futures utilisations peuvent comprendre ce que vous demandez, de sorte qu'ils peuvent dire si c'est le problème qu'il rencontre
OriginalL'auteur Java.beginner | 2014-08-04
Vous devez vous connecter pour publier un commentaire.
À ce point, il est sans doute plus facile de simplement utiliser
annoter
.Par exemple:
Toutefois, si vous ne voulez utiliser
legend
, voici comment vous pouvez le faire. Vous devez explicitement masquer la légende des poignées en plus du réglage de la taille à 0 et la suppression de leur rembourrage.C'est parce que vous êtes en train de créer une nouvelle légende lorsque vous appelez
legend = ax.legend(...)
la deuxième fois. Si vous souhaitez accéder à la première légende, l'utilisationax.get_legend()
.Merci @Joe kingston portant, il a travaillé après l'utilisation de la hache.get_legend().
OriginalL'auteur Joe Kington
J'ai trouvé une autre solution beaucoup plus simple - il suffit de régler l'échelle de la marque à zéro dans les propriétés de la légende:
Ceci est particulièrement utile dans des nuages de points, lorsque vous ne voulez pas que le marqueur soit visuellement confondu avec un vrai point de données (ou même aberrant!).
OriginalL'auteur tsando
Vous suffit de définir le
handletextpad
ethandlelength
dans la légende par lalegend_handler
comme indiqué ci-dessous:De détails sur
handletextpad
ethandlelength
est dans la documentation (lien ici, & copié ci-dessous):Avec le code ci-dessus:
Avec un supplément de quelques lignes les étiquettes peuvent avoir la même couleur que leur ligne. utilisez simplement
.set_color()
vialegend.get_texts()
.Juste appeler
plt.legend()
donne:OriginalL'auteur tsherwen