<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本關任務:利用 PyEcharts 繪製一個基本的漏斗圖。
為了完成本關任務,你需要掌握:
1. Python 的基本語法
2. PyEcharts 漏斗圖的相關內容
匯入圖表型別
與日曆圖的操作類似,在檔案的開始我們首先要將所需包匯入,如右側編輯器中程式碼所示。
匯入漏斗圖的語句為
from pyecharts.charts import Funnel
為了方便構造資料,我們還匯入了 PyEcharts 提供的虛擬封包,如下所示:
from pyecharts.faker import Faker
構造資料
通過 PyEcharts 提供的虛擬封包 Faker,我們可以用如下語句構造一個二維 List:
data = [ list(z) for z in zip(Faker.choose(), Faker.values()) ]
其中,Faker包中的 choose 方法會隨機選擇一組屬性,而 values 方法則生成隨機的資料值。
熟悉標題設定選項
在之前的關卡中我們已經熟悉了 PyEcharts 繪圖的流程,故本關主要介紹標題相關的設定選項:
class TitleOpts( # 主標題文字,支援使用 n 換行。 title: Optional[str] = None, # 主標題跳轉 URL 連結 title_link: Optional[str] = None, # 主標題跳轉連結方式 # 預設值是: blank # 可選引數: 'self', 'blank' # 'self' 當前視窗開啟; 'blank' 新視窗開啟 title_target: Optional[str] = None, # 副標題文字,支援使用 n 換行。 subtitle: Optional[str] = None, # 副標題跳轉 URL 連結 subtitle_link: Optional[str] = None, # 副標題跳轉連結方式 # 預設值是: blank # 可選引數: 'self', 'blank' # 'self' 當前視窗開啟; 'blank' 新視窗開啟 subtitle_target: Optional[str] = None, # title 元件離容器左側的距離。 # left 的值可以是像 20 這樣的具體畫素值,可以是像 '20%' 這樣相對於容器高寬的百分比, # 也可以是 'left', 'center', 'right'。 # 如果 left 的值為'left', 'center', 'right',元件會根據相應的位置自動對齊。 pos_left: Optional[str] = None, # title 元件離容器右側的距離。 # right 的值可以是像 20 這樣的具體畫素值,可以是像 '20%' 這樣相對於容器高寬的百分比。 pos_right: Optional[str] = None, # title 元件離容器上側的距離。 # top 的值可以是像 20 這樣的具體畫素值,可以是像 '20%' 這樣相對於容器高寬的百分比, # 也可以是 'top', 'middle', 'bottom'。 # 如果 top 的值為'top', 'middle', 'bottom',元件會根據相應的位置自動對齊。 pos_top: Optional[str] = None, # title 元件離容器下側的距離。 # bottom 的值可以是像 20 這樣的具體畫素值,可以是像 '20%' 這樣相對於容器高寬的百分比。 pos_bottom: Optional[str] = None, # 標題內邊距,單位px,預設各方向內邊距為5,接受陣列分別設定上右下左邊距。 # // 設定內邊距為 5 # padding: 5 # // 設定上下的內邊距為 5,左右的內邊距為 10 # padding: [5, 10] # // 分別設定四個方向的內邊距 # padding: [ # 5, // 上 # 10, // 右 # 5, // 下 # 10, // 左 # ] padding: Union[Sequence, Numeric] = 5, # 主副標題之間的間距。 item_gap: Numeric = 10, # 主標題字型樣式設定項,參考 `series_options.TextStyleOpts` title_textstyle_opts: Union[TextStyleOpts, dict, None] = None, # 副標題字型樣式設定項,參考 `series_options.TextStyleOpts` subtitle_textstyle_opts: Union[TextStyleOpts, dict, None] = None, )
如上所示,標題主要分為主標題和副標題兩個模組,其設定方法相類似。比較常用的有設定文字、設定超連結、設定位置等選項。上述字型樣式設定與其他部分字型樣式設定相似,我們將在後續實訓中詳細介紹。
標題設定屬於全域性設定項,可通過 set_global_opts 方法設定。
根據以上介紹,在右側編輯器補充程式碼,繪製給定資料的漏斗圖,要求:
平臺會執行你編寫的程式碼進行繪圖,並與預期圖片進行比對。預期效果如下:
提示:
設定系列名稱以及新增資料部分可以簡寫為:
...
.add("名稱", data)
...
開始你的任務吧,祝你成功!
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-副標題")) ) # ********** 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實現漏斗圖的繪製的詳細內容,更多關於Python Pyecharts漏斗圖的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45