Comment éviter le chevauchement des annotations dans les graphiques avec ajusterText ?

Susan Sarandon
Libérer: 2024-10-31 02:48:31
original
328 Les gens l'ont consulté

How to Prevent Overlapping Annotations in Graphs with adjustText?

Comment éviter les annotations qui se chevauchent dans les graphiques

Les annotations dans les graphiques se chevauchent souvent, ce qui rend les informations difficiles à lire. Dans cet article, nous discuterons d'une solution à ce problème en utilisant la bibliothèque ajusterText.

Matthew Brett a fourni une solution prometteuse pour les annotations qui se chevauchent dans les graphiques à barres. Cependant, la conversion des méthodes « axe » vers d'autres types de graphiques peut être difficile.

La bibliothèque ajusterText

La bibliothèque ajusterText, écrite par Phlya, fournit une solution élégante pour empêcher le chevauchement du texte dans les graphiques. Il ajuste automatiquement la position des annotations de texte pour minimiser les chevauchements.

Exemple de mise en œuvre

Pour mettre en œuvre cette solution, suivez ces étapes :

  1. Importez les bibliothèques nécessaires :

    <code class="python">import matplotlib.pyplot as plt
    from adjustText import adjust_text
    import numpy as np</code>
    Copier après la connexion
  2. Préparez vos données sous forme de liste de tuples contenant des valeurs (x, y, texte).
  3. Créez un tracé et ajoutez les lignes et les annotations :

    <code class="python">p1 = plt.plot(eucs, covers, color="black", alpha=0.5)
    texts = []
    for x, y, s in zip(eucs, covers, text):
     texts.append(plt.text(x, y, s))</code>
    Copier après la connexion
  4. Ajustez les positions du texte en utilisant ajusterText :

    <code class="python">adjust_text(texts, only_move={'points': 'y', 'texts': 'y'}, arrowprops=dict(arrowstyle="->", color='r', lw=0.5))</code>
    Copier après la connexion
  5. Afficher le plot :

    <code class="python">plt.show()</code>
    Copier après la connexion

Exemple de sortie

Le tracé résultant aura les annotations correctement ajustées pour éviter les chevauchements, comme indiqué dans l'image donnée .

Réglage fin

Pour un contrôle plus précis, vous pouvez ajuster les paramètres suivants :

  • only_move : spécifie quels éléments doivent être déplacés (par exemple, déplacer le texte uniquement verticalement).
  • force_points : ajuste la force de la force répulsive entre les points .
  • force_text : Ajuste la force de la force répulsive entre text.
  • arrowprops : personnalisez l'apparence des flèches de connexion.

Ces paramètres vous permettent d'adapter le processus d'ajustement à vos besoins spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!