Maison  >  Article  >  développement back-end  >  Comment créer un Stripplot avec Jitter dans Altair Python ?

Comment créer un Stripplot avec Jitter dans Altair Python ?

WBOY
WBOYavant
2023-09-03 18:01:011291parcourir

Ce tutoriel explique comment créer un Stripplot en utilisant Jitter dans Altair Python. Utilisez des graphiques à barres avec tramage dans Altair Python pour visualiser rapidement et facilement des ensembles de données contenant des variables continues et catégorielles. Dans un graphique en bandes, l'une des variables est une variable catégorielle et l'autre est une variable continue. Un graphique à bandes est un type de graphique à nuages ​​de points. En visualisant les points de données comme des points individuels le long de l'axe catégoriel, nous pouvons voir la distribution de la variable continue pour chaque catégorie. Le tramage des points de données sur le tracé facilite l'examen de la manière dont les données sont distribuées.

En utilisant la fonction mark_circle() pour créer un graphique et la fonction jitter() pour ajouter un effet de gigue, nous pouvons créer un graphique à barres avec un effet de gigue dans Altair Python. Tout d'abord, les variables x et y du graphique doivent être spécifiées à l'aide du paramètre d'encodage. Utilisez ensuite la fonction mark_circle() pour créer le graphique et la fonction jitter() pour ajouter l'effet de gigue. Vous pouvez également modifier le graphique en modifiant les étiquettes des axes, la palette de couleurs et en ajoutant un titre. En suivant ces méthodes simples, nous pouvons créer un graphique à barres lisible et instructif avec effet de gigue dans Altair Python.

Grammaire

Altair est une bibliothèque Python qui peut être utilisée pour créer des graphiques en bandes avec tramage. Voici un exemple de syntaxe pour créer un graphique en bandes avec tramage à l'aide d'Altair -

import altair as alt

# create a stripplot with jitter using Altair
alt.Chart(df).mark_circle(size = 14).encode(
   x = alt.X('jitter:Q', title = None, axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y = alt.Y('Y:Q', scale = alt.Scale()),
   color = alt.Color('C:N', legend = None),
).transform_calculate(
   Jitter = 'sqrt(-2*log(rand()))*cos(2*PI*rand())',
)

Le code donné crée un graphique à barres avec effet de gigue à l'aide d'Altair. La méthode transform_calculate() calcule la racine carrée du logarithme naturel négatif deux fois d'un nombre aléatoire généré par la méthode rand() dans le module aléatoire de Python, multipliée par deux fois pi un autre nombre aléatoire généré en utilisant la même méthode rand(). La valeur cosinus de , génère une gigue gaussienne sur l'axe des x. Cela ajoute la valeur de gigue à la colonne « gigue » du DataFrame. Cette valeur de gigue est ensuite mappée sur l'axe des x à l'aide de l'encodage « jitter:Q » dans la méthode alt.X().

Exemple

Le code suivant utilise la bibliothèque de visualisation Altair en Python pour générer un graphique à barres avec un effet de gigue. Le code utilise d'abord pandas.DataFrame() pour créer un ensemble de données personnalisé contenant 100 valeurs x, valeurs y et catégories générées aléatoirement. Les valeurs x et y représentent les coordonnées des points du tracé, tandis que la colonne de catégorie détermine la couleur de chaque point.

Utilisez ensuite la fonction alt.Chart() pour créer l'objet graphique et appelez la fonction mark_circle() pour spécifier que le tracé doit être circulaire. La méthode encode() est utilisée pour spécifier comment les données sont mappées aux propriétés visuelles du tracé, telles que les positions x et y et les couleurs des points. Dans ce cas, le codage x ajoute de la gigue à l'axe des x à l'aide d'un champ calculé appelé gigue, tandis que le codage y spécifie la valeur y. Le codage couleur utilise la colonne de catégorie pour colorer les points, et le paramètre legend=None supprime la légende. Enfin, la fonction transform_calculate() est utilisée pour calculer le champ de gigue à l'aide d'une formule basée sur un générateur de nombres aléatoires qui ajoute une petite quantité de bruit aléatoire aux valeurs x et répartit les points horizontalement.

import altair as alt
import pandas as pd
import numpy as np

# create a custom dataset
custom_data = pd.DataFrame({
   'x_values': np.random.randn(100),
   'y_values': np.random.randn(100),
   'category': np.random.choice(['A', 'B', 'C'], 100)
})

# create a stripplot with jitter using Altair
alt.Chart(custom_data).mark_circle(size = 14).encode(
   x=alt.X('jitter:Q', title = None, 
   axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y=alt.Y('y_values:Q', scale=alt.Scale()),
   color=alt.Color('category:N', legend = None),
).transform_calculate(
   jitter='sqrt(-2*log(random()))*cos(2*PI*random())',
)

Sortie

如何在Altair Python中制作带有Jitter的Stripplot?

Exemple

Cet exemple montre comment créer un graphique en bandes avec gigue dans Altair à l'aide de l'ensemble de données Iris. Le code importe d'abord les bibliothèques nécessaires de la bibliothèque vega_datasets, y compris les ensembles de données Altair et Iris. Il crée ensuite un graphique Altair à l'aide de la méthode mark_circle, créant un cercle pour chaque point de données et codant les variables x, y et couleur à l'aide respectivement des classes Altair X, Y et Color.

Cet exemple montre comment créer un graphique en bandes avec gigue dans Altair à l'aide de l'ensemble de données Iris. Le code importe d'abord les bibliothèques nécessaires de la bibliothèque vega_datasets, y compris les ensembles de données Altair et Iris. Il crée ensuite un graphique Altair à l'aide de la méthode mark_circle, créant un cercle pour chaque point de données et codant les variables x, y et couleur à l'aide respectivement des classes Altair X, Y et Color.

import altair as alt
from vega_datasets import data

# load the Iris dataset
iris = data.iris()

# create a stripplot with jitter using Altair
alt.Chart(iris).mark_circle(size = 14).encode(
   x = alt.X('jitter:Q', title = None, axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y = alt.Y('petalWidth:Q', scale = alt.Scale()),
    color = alt.Color('species:N', legend = None),
).transform_calculate(
   jitter = 'sqrt(-2*log(random()))*cos(2*PI*random())',
)

Sortie

如何在Altair Python中制作带有Jitter的Stripplot?

Conclusion

En résumé, utiliser le tramage pour créer des graphiques à barres est très utile pour montrer la distribution et la variabilité des points de données. Le package Altair de Python rend cette opération simple et efficace. Les utilisateurs peuvent suivre les instructions fournies dans cet article, notamment l'importation des bibliothèques requises, le chargement des données et l'encodage des variables x, y et couleur, pour créer un graphique éducatif et magnifique. En utilisant la méthode transform_calculate pour inclure la gigue, le graphique est encore amélioré car il est désormais plus facile d'identifier des points de données et des modèles spécifiques dans les données.

Dans l'ensemble, Altair est un puissant outil de visualisation de données Python, et l'utilisation du dither pour créer un graphique en bandes n'est qu'un exemple de ses capacités. Vous pouvez créer une variété de visualisations puissantes et pédagogiques en expérimentant divers ensembles de données et encodages visuels. Grâce à la syntaxe simple et aux fonctionnalités puissantes d'Altair, les possibilités de visualisation des données sont infinies.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer