Graphique à barres Plotly

Ammar Ali 1 avril 2022
Graphique à barres Plotly

Ce didacticiel abordera la création d’un graphique à barres à l’aide de la fonction bar() de Plotly.

Graphique à barres Plotly

Un graphique à barres affiche les données sous forme de barres rectangulaires dont la hauteur est égale à la valeur qu’elles représentent. Nous pouvons utiliser la fonction bar() de Plotly pour créer un graphique à barres.

Un graphique à barres a deux axes ; un axe représente les données sous forme de barres rectangulaires et l’autre les étiquettes. Nous pouvons rendre horizontal un graphique à barres verticales en intervertissant les axes.

Nous devons passer les données et les étiquettes à l’intérieur de la fonction bar() pour créer le graphique à barres. On peut aussi passer un data frame ou un tableau à l’intérieur de la fonction bar().

Créons un graphique à barres de données aléatoires. Voir le code ci-dessous.

import plotly.express as px

labels = ["One", "Two", "Three"]
value = [10, 50, 100]
fig = px.bar(x=labels, y=value, height=400, width=500)
fig.show()

Production :

graphique à barres

Les arguments width et height sont utilisés pour définir la largeur et la hauteur de la figure en pixels. Nous pouvons donner à chaque cellule une couleur différente en utilisant l’argument color et un tableau de nombres de la même longueur que les données d’entrée.

Nous pouvons placer du texte à l’intérieur de chaque cellule en utilisant l’argument text et une liste de chaînes de caractères contenant le texte de chaque cellule. Nous pouvons définir la position de chaque base de cellule en utilisant l’argument base et une liste contenant la position de chaque base de cellule.

Nous pouvons ajouter des barres d’erreur à chaque cellule en utilisant l’argument error_x pour l’axe des x et l’argument error_y pour l’axe des y. La valeur de l’argument doit être une liste contenant les valeurs numériques d’erreur pour chaque cellule.

Nous pouvons régler l’opacité de chaque cellule de 0 à 1 en utilisant l’argument opacity. Nous pouvons définir l’orientation des cellules sur horizontale ou verticale à l’aide de l’argument orientation et le définir sur v pour vertical et h pour horizontal.

Nous pouvons définir chaque axe sur une échelle logarithmique en utilisant l’argument log_x pour l’axe des x et l’argument log_y pour l’axe des y et définir sa valeur sur true. Nous pouvons également définir le titre de la figure en utilisant l’argument title() et une chaîne contenant le texte du titre.

Changeons les arguments mentionnés ci-dessus. Voir le code ci-dessous.

import plotly.express as px

labels = ["One", "Two", "Three"]
value = [10, 50, 100]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=[1, 5, 10],
    text=["a", "b", "c"],
    base=[0, 15, 50],
    error_y=[5, 10, 15],
    opacity=0.8,
    orientation="v",
    title="plotly bar plot",
)
fig.show()

Production :

modification des propriétés d’un graphique à barres plotly

Par défaut, la fonction bar() donne à chaque cellule une couleur différente, mais nous pouvons définir la couleur de chaque cellule en utilisant les arguments color et color_discrete_map. Nous devons passer chaque étiquette de cellule à l’intérieur de l’argument couleur et donner à chaque étiquette une couleur en utilisant l’argument color_discrete_map pour changer la couleur de chaque cellule.

Si on ne définit pas la couleur d’un label, la fonction bar() lui donne automatiquement une couleur aléatoire. Définissons la couleur de chaque cellule.

import plotly.express as px

labels = ["A", "B", "C"]
value = [10, 50, 100]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=labels,
    color_discrete_map={
        "A": "green",
        "B": "cyan",
        "C": "yellow",
    },
)
fig.show()

Production :

changer la couleur du graphique à barres

Nous pouvons également modifier l’échelle ou la séquence de couleurs par défaut pour définir la couleur de chaque cellule à l’aide de l’argument color_continuous_scale. La valeur de l’argument doit être une liste de couleurs CSS valides. Nous pouvons utiliser une séquence de couleurs intégrée de Plotly comme le RdBu, Inferno, Jet, Hot, Rainbow et Sunset.

Modifions les couleurs du camembert en utilisant la séquence de couleurs “Arc-en-ciel”. Voir le code ci-dessous.

import plotly.express as px

labels = ["A", "B", "C"]
value = [10, 50, 100]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=value,
    color_continuous_scale=px.colors.sequential.Rainbow,
)
fig.show()

Production :

modification de la séquence de couleurs du graphique à barres

Pour changer la séquence de couleurs dans le code, nous devons changer le nom de la séquence de couleurs de Rainbow à Sunset. Cliquez sur ce lien pour plus d’informations sur la séquence de couleurs dans Plotly.

On peut aussi mettre à jour les traces de la fonction bar() à l’aide de la fonction fig.update_traces(). Nous pouvons utiliser l’argument text pour définir le texte affiché à l’intérieur de chaque cellule et définir la position du texte à l’aide de l’argument textposition. Les positions de texte prises en charge sont outside, inside, auto et none.

Nous pouvons changer la taille de la police du texte en utilisant l’argument textfont_size, l’angle du texte en utilisant l’argument textangle et la couleur du texte en utilisant l’argument textfont_color. Nous pouvons modifier les propriétés du marqueur telles que la largeur et la couleur de la ligne à l’aide de l’argument marqueur.

Ajoutons du texte aléatoire à chaque cellule, donnons à chaque texte la couleur, l’angle, la taille de la police, une ligne autour de chaque cellule et définissons sa couleur et sa largeur.

import plotly.express as px

labels = ["A", "B", "C"]
value = [10, 50, 80]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=value,
    color_continuous_scale=px.colors.sequential.Rainbow,
)
fig.update_traces(
    text=["First", "Second", "Third"],
    textposition="outside",
    textfont_size=16,
    textangle=90,
    textfont_color="Red",
    marker=dict(line=dict(color="green", width=3)),
)
fig.show()

Production :

modification des tracés du graphique à barres

Cliquez sur ce lien pour plus d’informations sur les traces de la fonction bar().

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - Plotly Plot