[Maîtriser Python en 100 jours] Jour 64 : Visualisation Python_Matplotlib dessine des graphiques à barres d'erreur, dessine des graphiques remplis, des exemples + du code

1 Dessiner un graphique à barres d'erreur (errorbar)

        Les tracés à barres d'erreur sont utilisés pour visualiser les mesures d'un ou plusieurs ensembles de données et leurs erreurs ou incertitudes associées. Chaque point de données peut avoir une plage d'erreur différente, et ces erreurs peuvent être exprimées sous forme de barres d'erreur supérieure et inférieure, d'erreurs symétriques, d'erreurs asymétriques, etc. En règle générale, les diagrammes à barres d'erreur sont utilisés pour comparer les différences entre plusieurs conditions expérimentales ou sources de données.

(1) Barres d'erreur verticales :

  • Les barres d'erreur supérieure et inférieure sont utilisées pour représenter la plage d'erreur de chaque point de données dans la direction verticale. Elles sont généralement utilisées pour représenter la plage flottante supérieure et inférieure du point de données. Cela peut être une erreur de mesure, un écart type, etc.

(2) Erreur symétrique :

  • L'erreur symétrique signifie que la plage d'erreur d'un point de données est symétrique dans deux directions et est généralement utilisée pour exprimer l'écart type ou l'intervalle de confiance, etc.

(3) Erreur asymétrique :

  • L'erreur asymétrique signifie que la plage d'erreur d'un point de données est asymétrique dans deux directions et est généralement utilisée pour représenter les erreurs de mesure expérimentale, etc.

 Exemple : tracer un tracé à barres d'erreur

import matplotlib.pyplot as plt
import numpy as np

# 准备数据
x = np.array([1, 2, 3, 4, 5])
y1 = np.array([2, 3, 5, 4, 6])
y2 = np.array([3, 4, 6, 5, 7])

# 不对称误差范围
y1_lower_err = np.array([0.2, 0.3, 0.1, 0.4, 0.15])
y1_upper_err = np.array([0.1, 0.25, 0.15, 0.3, 0.1])

# 对称误差范围
y2_err = np.array([0.15, 0.2, 0.25, 0.2, 0.18])

# 绘制误差线图
plt.errorbar(x, y1, yerr=[y1_lower_err, y1_upper_err], fmt='o', label='Data 1 (Asymmetric Errors)', capsize=5)
plt.errorbar(x, y2, yerr=y2_err, fmt='s', label='Data 2 (Symmetric Errors)', capsize=5)

# 添加标签和标题
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Error Bar Plot')

# 添加图例
plt.legend()

# 显示图形
plt.grid(True)
plt.show()

 courir:

         Ce code est utilisé pour tracer des tracés à barres d'erreur, y compris des plages d'erreur asymétriques et des plages d'erreur symétriques. Parmi eux, l'axe des x représente la variable indépendante et l'axe des y représente la variable dépendante.

        Tout d'abord, préparez les données requises pour le traçage en important matplotlib.pyplot et la bibliothèque numpy. Les données incluent les valeurs de x et les valeurs des deux variables dépendantes y1 et y2. Ensuite, les tableaux de limites supérieure et inférieure de la plage d'erreur asymétrique (y1_lower_err et y1_upper_err) et le tableau de la plage d'erreur symétrique (y2_err) ont été créés via la bibliothèque numpy.

        Ensuite, la fonction plt.errorbar est utilisée pour dessiner respectivement les barres d'erreur des deux ensembles de données. Le paramètre yerr est passé respectivement dans le tableau des plages d'erreur asymétriques et symétriques, et le paramètre fmt spécifie le style de la barre d'erreur.

        En même temps, des étiquettes et des titres sont ajoutés pour expliquer la signification du graphique, et des légendes sont ajoutées pour représenter les données impliquées dans la comparaison. Enfin, appelez plt.grid(True) pour afficher les lignes de la grille et appelez plt.show() pour afficher les graphiques.

2 Dessiner un diagramme de remplissage (fill_between)

        Fill Between Plot est utilisé pour visualiser la zone entre deux ensembles de données ou la zone sous une courbe. Ceci est souvent utilisé pour exprimer l'incertitude des données, les intervalles ou les différences entre deux ensembles de données.

        L'idée clé du dessin d'un tracé de remplissage est de créer une forme fermée qui entoure la zone entre les deux ensembles de données et de la remplir. Généralement, les deux ensembles de données peuvent être deux courbes, l'aire entre une courbe et un axe, ou l'aire entre deux courbes. Les tracés de remplissage sont souvent utilisés dans la visualisation de données pour mettre en évidence les différences ou les plages d'incertitude dans un ensemble de données.

Exemple de code :

Voici un exemple de code qui montre comment utiliser Matplotlib pour dessiner un tracé rempli pour représenter la zone entre deux ensembles de données :

import matplotlib.pyplot as plt
import numpy as np

# 准备数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建填充图
plt.fill_between(x, y1, y2, color='blue', alpha=0.5, label='Region Between y1 and y2')

# 添加标签和标题
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Fill Between Plot')

# 添加图例
plt.legend()

# 显示图形
plt.grid(True)
plt.show()

courir:

         Dans cet exemple, nous créons deux ensembles de données et y1traçons la zone remplie entre eux à l'aide de la fonction.y2plt.fill_between()

                             Le paramètre xreprésente les données de la coordonnée x,

        y1et y2représentent respectivement les coordonnées y des deux ensembles de données,

        colorPrécisez la couleur de la zone remplie,

        alphaContrôler la transparence de la zone remplie,

        labelEtiquette à utiliser pour la légende.

Enfin, nous avons ajouté des étiquettes, des titres, des légendes et affiché l'intrigue remplie.

Cet exemple montre comment dessiner un tracé de remplissage pour mettre en évidence la zone située entre deux ensembles de données et rendre plus clairement visibles l'incertitude ou les différences dans les données. Vous pouvez personnaliser le style, la couleur et les propriétés du motif de remplissage selon vos besoins.

2.2 Dessiner un tracé de lignes remplies (Filled Line Plot)

  • Les graphiques linéaires remplis sont créés en colorant la zone inférieure du graphique linéaire. Il est utilisé pour mettre l’accent sur les tendances et les changements dans les données, indiquant souvent la relation entre les points de données et une référence.
  • Exemple de code :
import matplotlib.pyplot as plt
import numpy as np

# 准备数据
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

# 创建填充线图
plt.fill_between(x, y, alpha=0.3)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Filled Line Plot')
plt.show()

Dans l'exemple ci-dessus, nous avons utilisé plt.fill_between()la fonction pour créer un graphique linéaire rempli qui met en évidence les fluctuations des données en remplissant la zone située sous la ligne. 

2.3 Diagramme de zone empilée

  • Les graphiques en aires empilées sont utilisés pour représenter la contribution cumulée de plusieurs séries de données, représentant généralement les proportions de différentes catégories de données dans la population.
  • Exemple de code :
import matplotlib.pyplot as plt
import numpy as np

# 准备数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 创建堆叠面积图
plt.stackplot(x, y1, y2, labels=['Sin', 'Cos'], alpha=0.5)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Stacked Area Plot')
plt.legend(loc='upper right')
plt.show()

 courir:

        Dans l'exemple ci-dessus, nous avons créé un graphique en aires empilées à l'aide de la fonction , empilant deux séries de données et représentant ensemble leur contribution en remplissant la zone.  plt.stackplot()y1y2

2.4 Dessiner un histogramme rempli (Filled Histogram)

  • Le remplissage d'un histogramme remplit l'histogramme de couleur entre chaque barre pour souligner la distribution des différents intervalles de données.
  • Exemple : tracer un histogramme rempli comparant les distributions de taille des hommes et des femmes
import matplotlib.pyplot as plt
import numpy as np

# 生成随机数据,模拟身高分布
np.random.seed(0)
male_heights = np.random.normal(175, 10, 500)
female_heights = np.random.normal(162, 8, 500)

# 创建填充直方图,同时显示男性和女性身高分布
plt.hist(male_heights, bins=30, density=True, alpha=0.5, color='blue', label='Male Heights')
plt.hist(female_heights, bins=30, density=True, alpha=0.5, color='pink', label='Female Heights')

# 添加标签和标题
plt.xlabel('Height (cm)')
plt.ylabel('Frequency')
plt.title('Height Distribution (Male vs. Female)')
plt.legend()

# 显示图形
plt.show()

        Ce code est utilisé pour générer des données aléatoires, simuler la répartition des tailles des hommes et des femmes et visualiser la répartition des tailles des deux en remplissant l'histogramme.
        Tout d'abord, préparez les données requises pour le traçage en important matplotlib.pyplot et la bibliothèque numpy. Le module aléatoire de la bibliothèque numpy a été utilisé pour générer 500 données de taille masculine et féminine qui correspondent à la distribution normale.
        Ensuite, les histogrammes remplis des tailles masculines et féminines ont été tracés à l'aide de la fonction plt.hist. Parmi eux, le paramètre bins spécifie le nombre de cases dans l'histogramme, le paramètre de densité est défini sur True pour convertir la fréquence en densité de probabilité, le paramètre alpha définit la transparence de la couleur de remplissage et le paramètre color définit la couleur du mâle. histogramme de hauteur en bleu et femelle respectivement
        . La couleur de l'histogramme de hauteur est rose et le paramètre label spécifie l'étiquette correspondante.
        Ensuite, des étiquettes et des titres ont été ajoutés pour expliquer la signification du graphique, et une légende a été ajoutée pour indiquer les différences entre les tailles des hommes et des femmes.
        Enfin, appelez plt.show() pour afficher le graphique. 

Je suppose que tu aimes

Origine blog.csdn.net/qq_35831906/article/details/133002903
conseillé
Classement