Heim > Backend-Entwicklung > Python-Tutorial > So zeichnen Sie ein gestapeltes Säulendiagramm mit ECharts in Python

So zeichnen Sie ein gestapeltes Säulendiagramm mit ECharts in Python

PHPz
Freigeben: 2023-12-17 09:48:59
Original
1671 Leute haben es durchsucht

So zeichnen Sie ein gestapeltes Säulendiagramm mit ECharts in Python

Im Bereich der Datenvisualisierung sind gestapelte Histogramme eine gängige Visualisierungsmethode. Es zeichnet mehrere Datenreihen in einem Balken auf. Jeder Balken besteht aus mehreren Unterelementen, die einer Datenreihe entsprechen und im selben Koordinatensystem angezeigt werden. Diese Art von Diagramm kann verwendet werden, um die Gesamtgröße verschiedener Kategorien oder Datenreihen, den Anteil der Komponenten jeder Kategorie oder Datenreihe usw. zu vergleichen. In Python können wir die ECharts-Bibliothek verwenden, um gestapelte Histogramme zu zeichnen, und die Bibliothek ist umfassend anpassbar und interaktiv.

1. Installieren und importieren Sie die ECharts-Bibliothek

Bevor wir die ECharts-Bibliothek verwenden, müssen wir sie zuerst installieren. Es kann über den pip-Befehl installiert werden:

pip install pyecharts
Nach dem Login kopieren

Nachdem die Installation abgeschlossen ist, müssen wir die erforderlichen Komponenten in das Python-Skript importieren, zum Beispiel:

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
Nach dem Login kopieren

2. Zeichnen Sie ein gestapeltes Histogramm

Als nächstes schauen wir uns ein an In diesem Beispiel verwenden wir die ECharts-Bibliothek, um ein gestapeltes Säulendiagramm zu zeichnen, um die Verkäufe jedes Monats anzuzeigen, wobei jede Spalte die Verkäufe eines Monats darstellt und jede Spalte aus den Verkäufen verschiedener Produktkategorien besteht.

  1. Daten vorbereiten

Zuerst müssen wir die Daten vorbereiten. In diesem Beispiel haben wir zufällig Verkaufsdaten für 12 Monate generiert und jeder Monat umfasste Verkäufe von 3 Produktkategorien. Der Code lautet wie folgt:

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)]
Nach dem Login kopieren
  1. Zeichnen Sie das Diagramm

Als nächstes fügen wir die Daten zum Diagramm hinzu und passen es an. Der Code lautet wie folgt:

# 实例化柱状图
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")
            )
    )
)
Nach dem Login kopieren

Im obigen Code instanziieren wir ein Histogramm und verwenden add_xaxis(), um die X-Achsen-Daten zum Diagramm hinzuzufügen. Als Nächstes verwenden wir add_yaxis(), um dem Diagramm drei Arten von Verkaufsdaten hinzuzufügen. Da wir drei Arten von Verkäufen stapeln müssen, setzen wir sie alle auf stack1. Gleichzeitig verwenden wir label_opts, um die Formatierungsmethode des Etiketts festzulegen. Schließlich verwenden wir set_global_opts(), um die globalen Parameter des Diagramms festzulegen, einschließlich des Titels, des Rotationswinkels der X-Achsenbeschriftung, des Y-Achsennamens und des Maximalwerts sowie der Datenbeschriftungseinstellungen.

  1. Visualisieren und speichern Sie die Ergebnisse

Abschließend visualisieren wir die Ergebnisse mit render() und zeigen die Ergebnisse mit render_notebook() in einem Jupyter-Notebook an oder speichern die Ergebnisse mit render('filename.html') als HTML-Datei. . Der Code lautet wie folgt:

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

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

Nachdem wir den obigen Code ausgeführt haben, erhalten wir ein übersichtliches gestapeltes Säulendiagramm, das die Verkäufe jedes Monats anzeigt und den Umsatzanteil verschiedener Produktkategorien widerspiegeln kann.

3. Zusammenfassung

In diesem Artikel wird die Verwendung der Bar-Komponente in der ECharts-Bibliothek zum Zeichnen eines gestapelten Säulendiagramms vorgestellt und anhand spezifischer Codebeispiele gezeigt, wie Daten vorbereitet und Daten zum Diagramm hinzugefügt werden Passen Sie das Diagramm an und speichern Sie es. Natürlich können im tatsächlichen Betrieb detailliertere Einstellungen und Anpassungen der Parameter bestimmter Komponenten erforderlich sein, um unterschiedliche Visualisierungsanforderungen zu erfüllen. Aber insgesamt stellt ECharts Python-Benutzern ein leistungsstarkes und benutzerfreundliches Datenvisualisierungstool zur Verfügung, das dabei hilft, die während des Datenanalyseprozesses erzielten Ergebnisse besser darzustellen.

Das obige ist der detaillierte Inhalt vonSo zeichnen Sie ein gestapeltes Säulendiagramm mit ECharts in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage