Maison  >  Article  >  développement back-end  >  Comment dessiner un histogramme empilé à l'aide d'ECharts en Python

Comment dessiner un histogramme empilé à l'aide d'ECharts en Python

PHPz
PHPzoriginal
2023-12-17 09:48:591601parcourir

Comment dessiner un histogramme empilé à laide dECharts en Python

Dans le domaine de la visualisation de données, les histogrammes empilés sont une méthode de visualisation courante. Il dessine plusieurs séries de données dans une barre. Chaque barre est composée de plusieurs sous-éléments. Chaque sous-élément correspond à une série de données et est affiché dans le même système de coordonnées. Ce type de graphique peut être utilisé pour comparer la taille totale de différentes catégories ou séries de données, la proportion de composants de chaque catégorie ou série de données, etc. En Python, nous pouvons utiliser la bibliothèque ECharts pour dessiner des histogrammes empilés, et la bibliothèque est richement personnalisable et interactive.

1. Installez et importez la bibliothèque ECharts

Avant d'utiliser la bibliothèque ECharts, nous devons d'abord l'installer. Il peut être installé via la commande pip :

pip install pyecharts

Une fois l'installation terminée, nous devons importer les composants requis dans le script Python, par exemple :

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker

2. Dessinez un histogramme empilé

Ensuite, regardons un exemple. Dans cet exemple, nous utiliserons la bibliothèque ECharts pour dessiner un histogramme empilé afin d'afficher les ventes de chaque mois, où chaque colonne représente les ventes d'un mois et chaque colonne comprend les ventes de différentes catégories de produits.

  1. Préparer les données

Tout d'abord, nous devons préparer les données. Dans cet exemple, nous avons généré de manière aléatoire des données de ventes sur 12 mois et chaque mois comprenait les ventes de 3 catégories de produits. Le code est le suivant :

import random

# 随机生成12个月份的销售额数据
months = [str(i) + "月" for i in range(1, 13)]
type1_sales = [random.randint(100, 1000) for _ in range(12)]
type2_sales = [random.randint(100, 1000) for _ in range(12)]
type3_sales = [random.randint(100, 1000) for _ in range(12)]
  1. Dessinez le graphique

Ensuite, nous ajoutons les données au graphique et le personnalisons. Le code est le suivant :

# 实例化柱状图
bar = (
    Bar()
    # 添加X轴数据
    .add_xaxis(months)
    # 添加Y轴数据,并使用整数值格式化标签
    .add_yaxis("类别1", type1_sales, stack="stack1", label_opts=opts.LabelOpts(formatter="{value}元"))
    .add_yaxis("类别2", type2_sales, stack="stack1", label_opts=opts.LabelOpts(formatter="{value}元"))
    .add_yaxis("类别3", type3_sales, stack="stack1", label_opts=opts.LabelOpts(formatter="{value}元"))
    # 设置全局参数
    .set_global_opts(
        # 设置标题
        title_opts=opts.TitleOpts(title="堆叠柱状图"),
        # 设置X轴标签旋转角度
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
        # 设置Y轴的名称和最大值
        yaxis_opts=opts.AxisOpts(name="销售额", max_=3000),
        # 设置数据标签
        series_opts=opts.SeriesOpts(
            itemstyle_opts=opts.ItemStyleOpts(border_color="black", border_width=0),
            label_opts=opts.LabelOpts(is_show=True, position="inside", color="white")
            )
    )
)

Dans le code ci-dessus, nous instancions un histogramme et utilisons add_xaxis() pour ajouter les données de l'axe X au graphique. Ensuite, nous utilisons add_yaxis() pour ajouter trois types de données de ventes au graphique. Puisque nous devons empiler trois types de ventes, nous les définissons tous sur stack1. En même temps, nous utilisons label_opts pour définir la méthode de formatage de l'étiquette. Enfin, nous utilisons set_global_opts() pour définir les paramètres globaux du graphique, notamment le titre, l'angle de rotation de l'étiquette de l'axe X, le nom de l'axe Y et la valeur maximale, ainsi que les paramètres de l'étiquette de données.

  1. Visualisez et enregistrez les résultats

Enfin, nous visualisons les résultats à l'aide de render() et affichons les résultats dans un bloc-notes Jupyter à l'aide de render_notebook() ou enregistrons les résultats sous forme de fichier HTML à l'aide de render('filename.html') . Le code est le suivant :

# 在Jupyter Notebook中显示图表
bar.render_notebook()

# 将图表保存为HTML文件
bar.render("bar_chart.html")

Après avoir exécuté le code ci-dessus, nous obtiendrons un graphique à colonnes empilées clair, qui montre les ventes de chaque mois et peut refléter la proportion des ventes de différentes catégories de produits.

3. Résumé

Cet article explique comment utiliser le composant Bar de la bibliothèque ECharts pour dessiner un histogramme empilé et utilise des exemples de code spécifiques pour montrer comment préparer les données, comment ajouter des données au graphique et comment personnaliser et enregistrer le graphique. Bien entendu, en fonctionnement réel, des réglages et ajustements plus détaillés des paramètres de composants spécifiques peuvent être nécessaires pour répondre à différents besoins de visualisation. Mais dans l’ensemble, ECharts fournit aux utilisateurs de Python un outil de visualisation de données puissant et facile à utiliser qui permet de mieux présenter les résultats obtenus lors du processus d’analyse des données.

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:
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