Python實(shí)現(xiàn)數(shù)據(jù)可視化大屏布局的示例詳解
數(shù)據(jù)可視化大屏展示需求無疑是對數(shù)據(jù)分析結(jié)果最好的詮釋,能夠使得別人能夠輕松的就理解我們的數(shù)據(jù)意圖。
之前我們可視化的展示過程中已經(jīng)使用幾種比較優(yōu)秀的python數(shù)據(jù)可視化應(yīng)用模塊,有興趣的朋友可以前往歷史文章中搜索相應(yīng)的實(shí)戰(zhàn)案例。
今天所說的數(shù)據(jù)可視化的大屏展示是通過pyecharts模塊來實(shí)現(xiàn)的,由于其本身生成的就是html的代碼塊,這一點(diǎn)非常有利于我們對大屏實(shí)現(xiàn)的要求。
若是沒有安裝pyecharts非標(biāo)準(zhǔn)庫的朋友可以使用pip的方式安裝一下即可。
pip?install?pyecharts?-i?https://pypi.tuna.tsinghua.edu.cn/simple/
完事兒之后,我們將所有需要使用到的python模塊全部導(dǎo)入到我們的代碼塊中。
#?Importing?the?options?module?from?the?pyecharts?package?and?renaming?it?to?opts. from?pyecharts?import?options?as?opts #?Importing?the?Bar?and?Scatter3D?classes?from?the?pyecharts.charts?module. from?pyecharts.charts?import?Bar,?Scatter3D #?Importing?the?random?module. import?random
為了展示大屏的布局效果,我們分別實(shí)現(xiàn)了柱狀圖、3D數(shù)據(jù)圖的展示效果從而在大屏中進(jìn)行展示。
若是想要加入線形圖、餅圖等其他類型的可視化圖形,我們可以直接在大屏布局中進(jìn)行自由添加。
開發(fā)一個函數(shù)bar(),用來畫出柱狀圖的顯示效果,并返回柱狀圖對象。
def?bar():
????"""
????It?does?nothing.
????"""
????cate?=?['1月',?'2月',?'3月',?'4月',?'5月',?'6月']
????bar_?=?(
????????Bar()
????????????.add_xaxis(cate)
????????????.add_yaxis("生產(chǎn)量",?[random.randint(1000,?3000)?for?_?in?cate])
????????????.add_yaxis("銷售量",?[random.randint(1200,?2800)?for?_?in?cate])
????????????.set_global_opts(title_opts=opts.TitleOpts(title="2022年訂單生產(chǎn)與銷售"))
????)
????return?bar_
開發(fā)一個函數(shù)scatter_3d(),用來畫出3D的顯示效果,并返回3D圖對象。
def?scatter_3d():
????"""
????>?This?function?takes?in?a?list?of?x,?y,?and?z?coordinates?and?plots?them?in?a?3D?scatter?plot
????"""
????data?=?[(random.randint(100,?200),?random.randint(100,?200),?random.randint(100,?200))?for?_?in?range(60)]
????scatter_?=?(Scatter3D()
????????.add("",?data)
????????.set_global_opts(
????????title_opts=opts.TitleOpts(title="3D數(shù)據(jù)隨機(jī)分布圖"))
????)
????return?scatter_
開發(fā)完兩個圖形繪制的函數(shù)之后,我們需要將其展示到頁面中,這里采用pyechaerts模塊頁面組件Page對象。
#?Importing?the?Page?class?from?the?pyecharts.charts?module.
from?pyecharts.charts?import?Page
#?Creating?a?page?object?with?a?simple?page?layout.
page?=?Page(layout=Page.SimplePageLayout)
page.add(
????bar(),
????scatter_3d(),
)
page.render("數(shù)據(jù)中心.html")
通過上面的操作已經(jīng)完成了頁面的圖形繪制,并且生成了html的源代碼,只需要將.html的文件拖到瀏覽器中即可查看大屏的可視化效果。

接下來為了使可視化的數(shù)據(jù)展示的更加的美觀,我們可以使用bs4模塊的BeautifulSoup對象初始化html對象后修改背景展示效果。
#?Importing?the?BeautifulSoup?class?from?the?bs4?module.
from?bs4?import?BeautifulSoup
with?open("數(shù)據(jù)中心.html",?"r+",?encoding='utf-8')?as?h:
????html_?=?BeautifulSoup(h,?'lxml')
????body?=?html_.find("body")
????body["style"]?=?"background-image:?url(背景.jpeg);background-repeat:?no-repeat;background-size:cover;"
????html_new?=?str(html_)
????h.seek(0,?0)
????h.truncate()
????h.write(html_new)
找一張自己能看順眼的高清背景圖,將下面這行代碼塊中的背景圖替換成自己的背景圖片路徑即可。
background-image:?url(背景.jpeg)

到此這篇關(guān)于Python實(shí)現(xiàn)數(shù)據(jù)可視化大屏布局的示例詳解的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)可視化大屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django?使用VScode?創(chuàng)建工程的詳細(xì)步驟
這篇文章主要介紹了Django?使用VScode?創(chuàng)建工程,創(chuàng)建Django 項(xiàng)目,可以和虛擬環(huán)境放在同一目錄,也可以放在虛擬環(huán)境的文件夾里,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
Python實(shí)現(xiàn)更改圖片尺寸大小的方法(基于Pillow包)
這篇文章主要介紹了Python實(shí)現(xiàn)更改圖片尺寸大小的方法,結(jié)合實(shí)例形式分析了Python基于Pillow包更改圖片屬性的相關(guān)技巧,需要的朋友可以參考下2016-09-09
Python3 Post登錄并且保存cookie登錄其他頁面的方法
今天小編就為大家分享一篇Python3 Post登錄并且保存cookie登錄其他頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python數(shù)據(jù)清洗之抽取jsonl文件數(shù)據(jù)字段并合并
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)清洗之抽取jsonl文件數(shù)據(jù)字段并合并的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-03-03
Python?中給請求設(shè)置用戶代理?User-Agent的方法
本文介紹?HTTP?標(biāo)頭用戶代理主題以及如何使用?Python?中的請求設(shè)置用戶代理,您將了解?HTTP?標(biāo)頭及其在理解用戶代理、獲取用戶代理以及學(xué)習(xí)使用?Python?中的請求設(shè)置用戶代理的多種方法方面的重要性,感興趣的朋友跟隨小編一起看看吧2023-06-06
關(guān)于jupyter lab安裝及導(dǎo)入tensorflow找不到模塊的問題
這篇文章主要介紹了關(guān)于jupyter lab安裝及導(dǎo)入tensorflow找不到模塊的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03

