Python實現(xiàn)數(shù)據(jù)可視化大屏布局的示例詳解
數(shù)據(jù)可視化大屏展示需求無疑是對數(shù)據(jù)分析結(jié)果最好的詮釋,能夠使得別人能夠輕松的就理解我們的數(shù)據(jù)意圖。
之前我們可視化的展示過程中已經(jīng)使用幾種比較優(yōu)秀的python數(shù)據(jù)可視化應用模塊,有興趣的朋友可以前往歷史文章中搜索相應的實戰(zhàn)案例。
今天所說的數(shù)據(jù)可視化的大屏展示是通過pyecharts模塊來實現(xiàn)的,由于其本身生成的就是html的代碼塊,這一點非常有利于我們對大屏實現(xiàn)的要求。
若是沒有安裝pyecharts非標準庫的朋友可以使用pip的方式安裝一下即可。
pip?install?pyecharts?-i?https://pypi.tuna.tsinghua.edu.cn/simple/
完事兒之后,我們將所有需要使用到的python模塊全部導入到我們的代碼塊中。
#?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
為了展示大屏的布局效果,我們分別實現(xiàn)了柱狀圖、3D數(shù)據(jù)圖的展示效果從而在大屏中進行展示。
若是想要加入線形圖、餅圖等其他類型的可視化圖形,我們可以直接在大屏布局中進行自由添加。
開發(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ù)隨機分布圖"))
????)
????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實現(xiàn)數(shù)據(jù)可視化大屏布局的示例詳解的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)可視化大屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3實現(xiàn)elasticsearch批量更新數(shù)據(jù)
今天小編就為大家分享一篇python3實現(xiàn)elasticsearch批量更新數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
python實現(xiàn)將字符串中的數(shù)字提取出來然后求和
這篇文章主要介紹了python實現(xiàn)將字符串中的數(shù)字提取出來然后求和,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
pytorch-神經(jīng)網(wǎng)絡擬合曲線實例
今天小編就為大家分享一篇pytorch-神經(jīng)網(wǎng)絡擬合曲線實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
python中使用numpy包的向量矩陣相乘np.dot和np.matmul實現(xiàn)
本文主要介紹了python中使用numpy包的向量矩陣相乘np.dot和np.matmul實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
python使用scapy模塊實現(xiàn)ping掃描的過程詳解
這篇文章主要介紹了python使用scapy模塊實現(xiàn)ping掃描的過程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01

