一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python制作可視化大屏全流程詳解

數(shù)據(jù)分析與開發(fā) ? 來源:快學(xué)Python ? 作者:朱小五 ? 2021-11-01 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天詳細(xì)講一下Pyecharts制作可視化大屏。注意,本文由于篇幅問題不會放置全部代碼,會在文末提供全部代碼的下載。

ECharts是由百度開源的基于JS的商業(yè)級數(shù)據(jù)圖表庫,有很多現(xiàn)成的圖表類型和實例,而Pyecharts則是為了方便我們使用Python實現(xiàn)ECharts的繪圖。使用Pyecharts制作可視化大屏,可以分為兩步:

1、使用分別Pyecharts分別制作各類圖形;

2、使用Pyecharts中的組合圖表功能,將所有圖片拼接在一張html文件中進(jìn)行展示。

小五認(rèn)為影響大屏美觀最重要的兩個因素就是:配色布局!在本文中,會特意強(qiáng)調(diào)這兩點。

Pyecharts可視化

本文縮減了圖表,只選用2020東京奧運(yùn)會各國金牌分布圖、2020東京奧運(yùn)會獎牌榜詳情、2020東京奧運(yùn)會中國各項目獲獎詳情。

這類圖表都很簡單,參照官方文檔直接復(fù)制示例就可以學(xué)習(xí)。圖表配色都使用的Pyecharts默認(rèn)顏色,大家實際使用時盡量形成自己的風(fēng)格。

Map世界地圖

Pyecharts繪制世界地圖時,名稱必須是英文。所以我們在前文中引入了國家名稱中英文對照表,左連接形成了df4

單獨提取英文名稱和獎牌總數(shù)兩列數(shù)據(jù),用來可視化。

data_list=[[i,j]fori,jinzip(df4['英文名稱'],df4['獎牌總數(shù)'])]
data_list[:5]
75f4d06c-3a58-11ec-82a9-dac502259ad0.png

數(shù)據(jù)準(zhǔn)備好了,開始利用pyecharts繪制世界地圖。

frompyechartsimportoptionsasopts
frompyecharts.chartsimportMap

c=(
Map()
.add("",data_list,"world",
is_map_symbol_show=False,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="2020東京奧運(yùn)會各國金牌分布圖"),
visualmap_opts=opts.VisualMapOpts(max_=100)
)
)

c.render_notebook()

非常簡單
同理,依次繪制其他兩類圖形。

柱狀圖、餅圖

柱狀圖(Bar)

frompyechartsimportoptionsasopts
frompyecharts.chartsimportBar

c=(
Bar()
.add_xaxis(df4['名稱'].head(25).tolist())
.add_yaxis("金牌",df4['金牌'].head(25).tolist(),stack="stack1")
.add_yaxis("銀牌",df4['銀牌'].head(25).tolist(),stack="stack1")
.add_yaxis("銅牌",df4['銅牌'].head(25).tolist(),stack="stack1")
.set_series_opts(label_opts=opts.LabelOpts(is_show=True,position="inside",font_size=12,color='#FFFFFF'))
.set_global_opts(title_opts=opts.TitleOpts(title="2020東京奧運(yùn)會獎牌榜詳情"),
xaxis_opts=opts.AxisOpts(type_='category',
axislabel_opts=opts.LabelOpts(
rotate=45),
)))
c.render_notebook()

餅圖(Pie)

frompyechartsimportoptionsasopts
frompyecharts.chartsimportPie

c=(
Pie()
.add("",[['跳水',12],['射擊',11],['舉重',8],['競技體操',8],['乒乓球',7],['游泳',6],['羽毛球',6],['田徑',5],['靜水皮劃艇',3],['蹦床體操',3],['自由式摔跤',3],['賽艇',3],['空手道',2],['拳擊',2],['帆船',2],['花樣游泳',2],['跆拳道',1],['場地自行車賽',1],['古典式摔跤',1],['擊劍',1],['三人籃球',1]],
center=["50%","60%"],)
.set_series_opts(label_opts=opts.LabelOpts(formatter=":{c}"))
)
c.render_notebook()

這樣需要用到的三張圖表就繪制好了。
Pyecharts組合圖表

Pyecharts進(jìn)行可視化大屏第二步就是組合圖表,大致可分為四類:

  • Grid:并行多圖
  • Page:順序多圖
  • Tab:選項卡多圖
  • Timeline:時間線輪播多圖

官方文檔:https://pyecharts.org/#/zh-cn/composite_charts

這里用Page(順序多圖)居多,在組合圖表之前,還要先把前面的圖表繪制代碼改為函數(shù)。

defmap_world()->Map:
c=(
Map(init_opts=opts.InitOpts(chart_id=2,bg_color='#ADD8E6'))
.add("",data_list,"world",
is_map_symbol_show=False,
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="2020東京奧運(yùn)會各國金牌分布圖"),
visualmap_opts=opts.VisualMapOpts(max_=100)
)
)
returnc

順便還在其中增加了背景顏色bg_color、圖表IDchart_id,后者用于多圖表時定位區(qū)分。背景顏色的話,我選擇了淡藍(lán)色#ADD8E6。后續(xù)圖片的布局是根據(jù)圖表ID的對應(yīng)關(guān)系進(jìn)行布局,所以每張圖都要分別設(shè)置其id。
接著使用page = Page(layout= Page.DraggablePageLayout)模式對圖片進(jìn)行展示,這一步是為了調(diào)整布局。

page=Page(layout=Page.DraggablePageLayout,page_title="2020東京奧運(yùn)會獎牌榜")

#在頁面中添加圖表
page.add(
title(),
map_world(),
bar_medals(),
pie_china(),)

page.render('test.html')

調(diào)用繪制函數(shù)后生成一個 test.html 文件。

打開后可以其中的圖片進(jìn)行拖拽,來實現(xiàn)自定義布局。

對圖片布局完畢后,要記得點擊左上角“save config”對布局文件進(jìn)行保存。

點擊后,本地會生成一個chart_config.json的文件,這其中包含了每個圖表ID對應(yīng)的布局位置。

最后,調(diào)用保存好的布局文件,重新生成html。

運(yùn)行下面這行代碼。

page.save_resize_html('test.html',cfg_file='chart_config.json',dest='奧運(yùn).html')

其中test.html 為生成的所有圖表的文件、chart_config.json 為下載的布局文件、奧運(yùn).html 為布局好的的儀表盤文件、打開儀表奧運(yùn).html:

這樣就實現(xiàn)了一次數(shù)據(jù)可視化——大屏展示。

但還有還有很多不足之處,比如若圖表配色沒有特殊去做調(diào)整。

整張大屏只是一個靜態(tài)的展示,而非具有商業(yè)場景的數(shù)據(jù)儀表盤。

真正的數(shù)據(jù)大屏往往更喜歡用BI軟件生成,能夠?qū)崿F(xiàn)圖、表、切片器之間交叉篩選,希望以后有機(jī)會能用Python使用制作出來。

編輯:jq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91859
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70733
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86737

原文標(biāo)題:Python 制作可視化大屏全流程!

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化

    使用協(xié)議分析儀進(jìn)行數(shù)據(jù)分析與可視化,需結(jié)合數(shù)據(jù)捕獲、協(xié)議解碼、統(tǒng)計分析及可視化工具,將原始數(shù)據(jù)轉(zhuǎn)化為可解讀的圖表和報告。以下是詳細(xì)步驟及關(guān)鍵方法,涵蓋從數(shù)據(jù)采集到可視化
    發(fā)表于 07-16 14:16

    工業(yè)設(shè)備可視化管理系統(tǒng)是什么

    工業(yè)設(shè)備可視化管理系統(tǒng)是一種基于物聯(lián)網(wǎng)(IoT)、大數(shù)據(jù)、云計算、數(shù)字孿生等技術(shù),對工業(yè)設(shè)備的運(yùn)行狀態(tài)、性能參數(shù)、維護(hù)信息等進(jìn)行實時監(jiān)測、數(shù)據(jù)整合與可視化呈現(xiàn)的智能管理平臺。它通過將復(fù)雜的設(shè)備數(shù)據(jù)
    的頭像 發(fā)表于 05-27 14:56 ?212次閱讀
    工業(yè)設(shè)備<b class='flag-5'>可視化</b>管理系統(tǒng)是什么

    VirtualLab Fusion應(yīng)用:3D系統(tǒng)可視化

    描述和F-Theta透鏡的應(yīng)用示例。 光學(xué)系統(tǒng)的3D-可視化 VirtualLab Fusion提供的工具可以實現(xiàn)光學(xué)系統(tǒng)的3D可視化,因此可以用于檢查元件的位置,以及快速了解系統(tǒng)內(nèi)部的光傳播情況
    發(fā)表于 04-30 08:47

    可視化組態(tài)物聯(lián)網(wǎng)平臺是什么

    可視化組態(tài)物聯(lián)網(wǎng)平臺是物聯(lián)網(wǎng)技術(shù)與組態(tài)技術(shù)相結(jié)合的產(chǎn)物,是通過提供豐富的圖形組件和可視化元素,讓用戶能夠以直觀、便捷的方式對物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行監(jiān)控、分析和管理的平臺。以下是其具體介紹: 定義 組態(tài)
    的頭像 發(fā)表于 04-21 10:40 ?294次閱讀

    VirtualLab Fusion中的可視化設(shè)置

    摘要 VirtualLab Fusion中的全局選項對話框可以輕松定制軟件的外觀和感覺。還可以保存和加載全局選項文件,以便可以輕松地將偏好設(shè)置從一個設(shè)備轉(zhuǎn)移到另一個設(shè)備。本文檔說明了與可視化和結(jié)果
    發(fā)表于 02-25 08:51

    VirtualLab Fusion應(yīng)用:光波導(dǎo)k域布局可視化(“神奇的圓環(huán)”)

    k域可視化內(nèi)反射 k域可視化:FOV“盒子” k域可視化:k域中的RGB和FOV k域可視化:FOV“盒子”的運(yùn)輸 k域
    發(fā)表于 02-21 08:53

    什么是大數(shù)據(jù)可視化?特點有哪些?

    數(shù)據(jù)可視化是指通過大屏幕展示大量數(shù)據(jù)和信息,以直觀、可視化的方式幫助用戶理解和分析數(shù)據(jù)。這種展示方式通常用于展示復(fù)雜的數(shù)據(jù)集、實時監(jiān)控系統(tǒng)、企業(yè)管理儀表盤等。以下是關(guān)于 大數(shù)據(jù)
    的頭像 發(fā)表于 12-16 16:59 ?686次閱讀

    可視化在水務(wù)領(lǐng)域都有哪些應(yīng)用場景?帶你一次看透!

    隨著科技的發(fā)展,大數(shù)據(jù)和可視化技術(shù)逐漸成為水務(wù)領(lǐng)域的有力助手。博達(dá)智聯(lián)可視化設(shè)計平臺以其高度自定義、功能強(qiáng)大、多種圖表的特點,為水務(wù)行業(yè)提供了全新的解決方案。本文將詳細(xì)探討該平臺在水務(wù)領(lǐng)域的具體
    的頭像 發(fā)表于 12-13 17:09 ?768次閱讀
    <b class='flag-5'>可視化</b>大<b class='flag-5'>屏</b>在水務(wù)領(lǐng)域都有哪些應(yīng)用場景?帶你一次看透!

    如何找到適合的大數(shù)據(jù)可視化系統(tǒng)

    選擇合適的大數(shù)據(jù)可視化系統(tǒng)是企業(yè)或組織在數(shù)字轉(zhuǎn)型過程中至關(guān)重要的一步。一個優(yōu)秀的大數(shù)據(jù)可視化系統(tǒng)能夠?qū)崟r呈現(xiàn)關(guān)鍵業(yè)務(wù)數(shù)據(jù),提升決策效率
    的頭像 發(fā)表于 12-13 15:47 ?487次閱讀

    智慧能源可視化監(jiān)管平臺——助力可視化能源數(shù)據(jù)管理

    博達(dá)可視化設(shè)計平臺在智慧能源領(lǐng)域的價值體現(xiàn)在實時監(jiān)控、數(shù)據(jù)可視化、決策支持和效率提升等方面。借助該平臺,企業(yè)可以輕松搭建智慧能源類可視化
    的頭像 發(fā)表于 11-29 10:00 ?950次閱讀
    智慧能源<b class='flag-5'>可視化</b>監(jiān)管平臺——助力<b class='flag-5'>可視化</b>能源數(shù)據(jù)管理

    智慧樓宇可視化的優(yōu)點

    智慧樓宇可視化是指通過數(shù)據(jù)可視化技術(shù)來展示和分析樓宇的各種數(shù)據(jù),為樓宇管理者和用戶提供直觀、清晰的信息展示和決策支持。以下是智慧樓宇可視化的優(yōu)點,詳細(xì)介紹其在樓宇管理和運(yùn)營中的重要作用: 1.實時
    的頭像 發(fā)表于 11-19 14:25 ?479次閱讀

    數(shù)字孿生3D大可視化技術(shù)應(yīng)用優(yōu)勢

    數(shù)字孿生3D大可視化技術(shù)是一種融合虛擬現(xiàn)實、增強(qiáng)現(xiàn)實和大數(shù)據(jù)等技術(shù)的創(chuàng)新型可視化工具,為用戶提供了沉浸式的交互體驗,同時能夠在大屏幕上展示高保真度的虛擬模型。這項技術(shù)在多個領(lǐng)域有著廣泛的應(yīng)用,并且具有多重優(yōu)勢。
    的頭像 發(fā)表于 07-31 15:05 ?980次閱讀

    可視化數(shù)據(jù)大制作流程

    制作可視化數(shù)據(jù)大是一項涵蓋數(shù)據(jù)分析、設(shè)計和技術(shù)實現(xiàn)的復(fù)雜任務(wù)。從數(shù)據(jù)處理到展示呈現(xiàn),每個步驟都至關(guān)重要。下面將詳細(xì)介紹可視化數(shù)據(jù)大
    的頭像 發(fā)表于 07-24 13:57 ?1183次閱讀