溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Python+Pyecharts實(shí)現(xiàn)漏斗圖

發(fā)布時間:2022-06-21 09:45:01 來源:億速云 閱讀:150 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“怎么使用Python+Pyecharts實(shí)現(xiàn)漏斗圖”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

相關(guān)知識

為了完成本關(guān)任務(wù),你需要掌握:

1. Python 的基本語法

2. PyEcharts 漏斗圖的相關(guān)內(nèi)容

導(dǎo)入圖表類型

與日歷圖的操作類似,在文件的開始我們首先要將所需包導(dǎo)入,如右側(cè)編輯器中代碼所示。

導(dǎo)入漏斗圖的語句為

from pyecharts.charts import Funnel

為了方便構(gòu)造數(shù)據(jù),我們還導(dǎo)入了 PyEcharts 提供的虛擬數(shù)據(jù)包,如下所示:

from pyecharts.faker import Faker

構(gòu)造數(shù)據(jù)

通過 PyEcharts 提供的虛擬數(shù)據(jù)包 Faker,我們可以用如下語句構(gòu)造一個二維 List:

data = [
list(z) for z in zip(Faker.choose(), Faker.values())
]

其中,F(xiàn)aker包中的 choose 方法會隨機(jī)選擇一組屬性,而 values 方法則生成隨機(jī)的數(shù)據(jù)值。

熟悉標(biāo)題配置選項

在之前的關(guān)卡中我們已經(jīng)熟悉了 PyEcharts 繪圖的流程,故本關(guān)主要介紹標(biāo)題相關(guān)的配置選項:

class TitleOpts(
# 主標(biāo)題文本,支持使用 \n 換行。
title: Optional[str] = None,
# 主標(biāo)題跳轉(zhuǎn) URL 鏈接
title_link: Optional[str] = None,
# 主標(biāo)題跳轉(zhuǎn)鏈接方式
# 默認(rèn)值是: blank
# 可選參數(shù): 'self', 'blank'
# 'self' 當(dāng)前窗口打開; 'blank' 新窗口打開
title_target: Optional[str] = None,
# 副標(biāo)題文本,支持使用 \n 換行。
subtitle: Optional[str] = None,
# 副標(biāo)題跳轉(zhuǎn) URL 鏈接
subtitle_link: Optional[str] = None,
# 副標(biāo)題跳轉(zhuǎn)鏈接方式
# 默認(rèn)值是: blank
# 可選參數(shù): 'self', 'blank'
# 'self' 當(dāng)前窗口打開; 'blank' 新窗口打開
subtitle_target: Optional[str] = None,
# title 組件離容器左側(cè)的距離。
# left 的值可以是像 20 這樣的具體像素值,可以是像 '20%' 這樣相對于容器高寬的百分比,
# 也可以是 'left', 'center', 'right'。
# 如果 left 的值為'left', 'center', 'right',組件會根據(jù)相應(yīng)的位置自動對齊。
pos_left: Optional[str] = None,
# title 組件離容器右側(cè)的距離。
# right 的值可以是像 20 這樣的具體像素值,可以是像 '20%' 這樣相對于容器高寬的百分比。
pos_right: Optional[str] = None,
# title 組件離容器上側(cè)的距離。
# top 的值可以是像 20 這樣的具體像素值,可以是像 '20%' 這樣相對于容器高寬的百分比,
# 也可以是 'top', 'middle', 'bottom'。
# 如果 top 的值為'top', 'middle', 'bottom',組件會根據(jù)相應(yīng)的位置自動對齊。
pos_top: Optional[str] = None,
# title 組件離容器下側(cè)的距離。
# bottom 的值可以是像 20 這樣的具體像素值,可以是像 '20%' 這樣相對于容器高寬的百分比。
pos_bottom: Optional[str] = None,
# 標(biāo)題內(nèi)邊距,單位px,默認(rèn)各方向內(nèi)邊距為5,接受數(shù)組分別設(shè)定上右下左邊距。
# // 設(shè)置內(nèi)邊距為 5
# padding: 5
# // 設(shè)置上下的內(nèi)邊距為 5,左右的內(nèi)邊距為 10
# padding: [5, 10]
# // 分別設(shè)置四個方向的內(nèi)邊距
# padding: [
# 5, // 上
# 10, // 右
# 5, // 下
# 10, // 左
# ]
padding: Union[Sequence, Numeric] = 5,
# 主副標(biāo)題之間的間距。
item_gap: Numeric = 10,
# 主標(biāo)題字體樣式配置項,參考 `series_options.TextStyleOpts`
title_textstyle_opts: Union[TextStyleOpts, dict, None] = None,
# 副標(biāo)題字體樣式配置項,參考 `series_options.TextStyleOpts`
subtitle_textstyle_opts: Union[TextStyleOpts, dict, None] = None,
)

如上所示,標(biāo)題主要分為主標(biāo)題和副標(biāo)題兩個模塊,其配置方法相類似。比較常用的有設(shè)置文本、設(shè)置超鏈接、設(shè)置位置等選項。上述字體樣式配置與其他部分字體樣式配置相似,我們將在后續(xù)實(shí)訓(xùn)中詳細(xì)介紹。

標(biāo)題配置屬于全局配置項,可通過 set_global_opts 方法設(shè)置。

編程要求

根據(jù)以上介紹,在右側(cè)編輯器補(bǔ)充代碼,繪制給定數(shù)據(jù)的漏斗圖,要求:

  • 系列名稱設(shè)置為“商品”;

  • 將給定數(shù)據(jù)傳入漏斗圖;

  • 將漏斗圖標(biāo)題設(shè)置為“Funnel-基本示例”;

  • 為漏斗圖添加副標(biāo)題,命名為“Funnel-副標(biāo)題”。

測試說明

平臺會運(yùn)行你編寫的代碼進(jìn)行繪圖,并與預(yù)期圖片進(jìn)行比對。預(yù)期效果如下:

怎么使用Python+Pyecharts實(shí)現(xiàn)漏斗圖

提示:

設(shè)置系列名稱以及添加數(shù)據(jù)部分可以簡寫為:

...
.add("名稱", data)
...

開始你的任務(wù)吧,祝你成功!

代碼

from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot
 
from pyecharts.charts import Funnel
 
from pyecharts.faker import Faker
 
data = [
    list(z) for z in zip(Faker.choose(), Faker.values())
]
 
def funnel_chart() -> Funnel:
    # ********* Begin *********#  
    funnel = (
        Funnel()
        .add("商品", data)
        .set_global_opts(title_opts=opts.TitleOpts(title="Funnel-基本示例",subtitle="Funnel-副標(biāo)題"))
    )
    # ********** End **********#
    return funnel
 
make_snapshot(snapshot, funnel_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 輸出圖片
make_snapshot(snapshot, funnel_base(data).render(), "StandardAnswer/task1/standard_answer_1.png")

怎么使用Python+Pyecharts實(shí)現(xiàn)漏斗圖

“怎么使用Python+Pyecharts實(shí)現(xiàn)漏斗圖”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI