首頁 >後端開發 >Python教學 >如何在Python中使用ECharts繪製堆疊柱狀圖

如何在Python中使用ECharts繪製堆疊柱狀圖

PHPz
PHPz原創
2023-12-17 09:48:591628瀏覽

如何在Python中使用ECharts繪製堆疊柱狀圖

在資料視覺化領域,堆疊長條圖是一種常見的視覺化方式。它將多個資料系列繪製成一個條形,每個條形由多個子項組成,每個子項對應一個資料系列,在同一座標系下進行展示。這種圖表可以用來比較不同類別或資料系列的總大小、每個類別或資料系列的組成比例等。在Python中,我們可以使用ECharts庫來繪製堆疊柱狀圖,而且該庫具有豐富的可自訂性和互動性。

一、安裝和導入ECharts庫

在使用ECharts庫前,我們需要先安裝它。可以透過pip指令進行安裝:

pip install pyecharts

安裝完成後,我們需要在Python腳本中導入所需元件,例如:

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

二、繪製堆疊柱狀圖

#接下來,我們來看一個實例,在該實例中,我們將使用ECharts庫繪製一幅堆疊柱狀圖,以顯示每個月的銷售情況,其中每個柱表示一個月的銷售額,每個柱由不同商品類別的銷售額組成。

  1. 準備資料

首先,我們需要準備資料。在這個實例中,我們隨機產生了12個月份的銷售額數據,每個月份下都包括了3個商品類別的銷售額。程式碼如下:

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. 繪製圖表

接下來,我們將資料加入圖表並進行自訂。程式碼如下:

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

在上述程式碼中,我們實例化了一個長條圖,並使用add_xaxis()將X軸資料加入圖表。接著,我們使用add_yaxis()分別將三種類型的銷售額資料加入圖表中。由於我們需要將三種類型的銷售額堆疊在一起,因此我們將它們都設定為stack1。同時,我們使用label_opts設定了標籤的格式化方式。最後,我們使用set_global_opts()來設定圖表的全域參數,包括標題、X軸標籤旋轉角度、Y軸的名稱和最大值,以及資料標籤的設定。

  1. 視覺化並儲存結果

最後,我們使用render()將結果視覺化,並使用render_notebook()在Jupyter Notebook中顯示結果,或使用render(' filename.html')將結果儲存為HTML檔案。代碼如下:

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

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

運行以上代碼後,我們將得到一張清晰明了的堆疊柱狀圖,該圖顯示了每個月份的銷售情況,並能夠反映出不同商品類別的銷售額的佔比情況。

三、總結

本文介紹如何使用ECharts庫中的Bar元件來繪製堆疊柱狀圖,並使用具體程式碼範例展示如何準備資料、如何將資料加入圖表中以及如何進行圖表的客製化和保存。當然,在實際操作中,可能還需要對特定組件的參數進行更細緻的設定和調整,以滿足不同的視覺化需求。但整體而言,ECharts為Python用戶提供了一個強大且易於使用的資料視覺化工具,有助於更好地呈現在資料分析過程中所得到的結果。

以上是如何在Python中使用ECharts繪製堆疊柱狀圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn