Présentation de ** Altair **, la bibliothèque de visualisation de données de Python. Puisqu'il y a peu d'informations en japonais, j'écrirai un article à usage missionnaire. Si vous maîtrisez l'anglais, il est plus facile de consulter la Page officielle.
Il peut être facilement installé avec la commande pip
. vega_datasets
sera utilisé plus tard, alors installons-les ensemble.
pip install altair vega_datasets
J'ai utilisé Google Colaboratory et cela a fonctionné depuis le début sans installation.
Chargez la bibliothèque et l'ensemble de données ci-dessous.
import altair as alt
from vega_datasets import data
iris = data.iris()
Altair est doué pour travailler avec Pandas, et ʻiris` est le DataFrame de Pandas.
Ce qui suit est le code supposé à visualiser directement avec Jupyter, etc. Si vous voulez sortir en html, ajoutez .save (" filename.html ")
à la fin. Vous n'avez pas besoin d'avoir .interactive ()
, mais si vous l'écrivez, vous pourrez déplacer le graphique. ** Cet article est une image normale, donc si vous souhaitez le déplacer, veuillez utiliser ici **.
Spécifiez les valeurs des axes x et y comme suit: Vous pouvez également écrire ʻalt.X () `comme un commentaire, et l'utiliser pour une visualisation compliquée.
alt.Chart(iris).mark_point().encode(
x="sepalLength", # alt.X("sepalLength"),
y="sepalWidth", # alt.Y("sepalWidth"),
color="species"
).interactive()
Le but est de prendre la moyenne pour chaque «espèce» avec «moyenne ()». Vous pouvez effectuer diverses opérations autres que la moyenne, et vous pouvez consulter la liste à ici.
alt.Chart(iris).mark_bar().encode(
x="average(sepalLength)", # alt.X("sepalLength", aggregate="average"),
y="species", # alt.Y("species"),
).interactive()
Le point est comme ça. Si vous remplacez la partie make_xxxxx
par make_line
, vous pouvez facilement dessiner un graphique linéaire. Si vous avez un problème, vous pouvez généralement le résoudre en recherchant un graphique similaire dans Gallery sur la page officielle.
Les informations spécifiées par l'argument tooltip
sont affichées en survolant la souris.
alt.Chart(iris).mark_point().encode(
x="sepalLength",
y="sepalWidth",
color="species",
tooltip=["sepalLength", "sepalWidth", "petalLength", "petalWidth", "species"]
).interactive()
Les données quantitatives sont essentiellement visualisées avec 0. Le graphique ci-dessus indique clairement qu'il ne contient pas 0 avec «zéro = Faux».
alt.Chart(iris).mark_point().encode(
alt.X("sepalLength", scale=alt.Scale(zero=False)),
alt.Y("sepalWidth", scale=alt.Scale(zero=False)),
color="species"
).interactive()
L'échelle nominale est souvent un entier, n'est-ce pas? Dans ce cas, spécifiez qu'il s'agit d'une échelle nominale, telle que species_int: N
. À propos, l'échelle de commande est «: O», et pour les données quantitatives, c'est «: Q». Les détails peuvent être trouvés dans la documentation officielle ici.
#Convertir en valeur entière(setosa: 0, versicolor: 1, virginica: 2)
iris["species_int"] = [["setosa", "versicolor", "virginica"].index(x) for x in iris["species"]]
#Exemple correct
alt.Chart(iris).mark_point().encode(
x="sepalLength",
y="sepalWidth",
color="species_int:N"
).interactive()
Au fait, sans «: N», ce sera comme suit.
Je me fâche quand je dépasse 5000 lignes. Exécutez ce qui suit en vous référant aux informations dans ici.
alt.data_transformers.disable_max_rows()
Il peut être décrit simplement et est pratique pour une analyse exploratoire. S'il y a un inconvénient, la sortie html est facile, mais la sortie png semble être un peu difficile. FYI!
Recommended Posts