Python利用pyecharts實現(xiàn)數(shù)據(jù)可視化的示例代碼
前言
小編我今天閑來無事,打算學習一下py,結(jié)果你猜怎么著,竟然看到py可以將數(shù)據(jù)可視化,做成報表顯示,這對于一直學Java的我來說,這東西可太東西了,這要是不學一下你受得了嗎?高低得學他一下啊。
這個py數(shù)據(jù)可視化也是用了第三方技術(shù)叫做Echarts,是由百度開發(fā)得一個數(shù)據(jù)可視化的框架,本來嘛使用于JS的,但是py那么火,自然他也就提供了py可用的第三方包了,但是有沒有提供Java的jar包呢,這個有時間倒是可以去考察一下。
JSON數(shù)據(jù)格式的轉(zhuǎn)換
這個東西既然扯到數(shù)據(jù)了,JSON是逃不掉的,雖然我知道這玩意大家很熟了,但是我還是得水一下文章的。JSON是一種輕量級得數(shù)據(jù)交互格式??梢园凑認SON指定得格式去組織和封裝數(shù)據(jù)。本質(zhì)上就是一個帶有特定格式的字符串。JSON主要就是一種在各個編程語言中流通的數(shù)據(jù)格式,負責不同編程語言中的數(shù)據(jù)傳遞和交互。類似于國際通用語言英語,中國通用語言普通話。
具體格式就像上面這樣,其實就和py中定義字典或者列表內(nèi)部嵌套字典差不多,鍵:值,不同鍵用逗號隔開。所以在py中去實現(xiàn)Python數(shù)據(jù)和Json數(shù)據(jù)的相互轉(zhuǎn)換倒是很方便,我們只要導(dǎo)入對應(yīng)的json模塊,然后使用里面提供好的方法就好了。
下面我們就來演示一下json模塊的使用吧,因為存在中文的編碼問題,所以我們還需要傳入一個關(guān)鍵參數(shù)ensure_ascii=False。
import json data = [{"name": "張大山", "age": 11}, {"name": "王大錘", "age": 13}, {"name": "趙小虎", "age": 16}] # python 轉(zhuǎn) json json_str = json.dumps(data, ensure_ascii=False) print(type(json_str)) print(json_str) # json 轉(zhuǎn) python s = '[{"name":"張大山","age":11},{"name":"王大錘","age":13},{"name":"趙小虎","age":16}]' l = json.loads(s) print(type(l)) print(l)
以上就是py實現(xiàn)JSON數(shù)據(jù)格式互相轉(zhuǎn)換,主意好列表和字典的格式后就dumps和loads兩個方法。
pyecharts簡介和入門使用
通過前面我們也知道了pyecharts就是一款第三方可視化數(shù)據(jù)框架,下面這個就是pyecharts的官網(wǎng)
https://05x-docs.pyecharts.org/#/zh-cn/prepare
官網(wǎng)其實還是挺好玩的,有好多報表圖模型,想用哪個就可以參考它的代碼,然后照葫蘆畫瓢就可以實現(xiàn)出來。下面這個是pyecharts的一個畫廊網(wǎng)址也是挺不錯的。
https://gallery.pyecharts.org/#/README
至于怎么安裝pycharts,其實分為兩種方式,第一種就是我們可以通過命令行來安裝。如果你寫代碼用的是第二種就是通過pyCharm來安裝。
第一種我們win加r輸入cmd打開命令行窗口,接著輸入下面這行命令直接回車等待下載完成就好了。
pip install pyecharts
接著檢驗是否安裝好了,我們可以通過輸入python,然后嘗試import pyecharts導(dǎo)入一下,如果沒有問題,就證明導(dǎo)入成功了。
第二種方法就是我們可以通過右下角的設(shè)置里的解釋器設(shè)置中的添加解釋器搜索pyecharts進行安裝就好了。
接著我們來看看pyecharts如何使用,其實這一塊呢也是非常簡單,我們只需要照著官網(wǎng)的模板照葫蘆畫瓢就好了 ,我們就來做一個折線圖圖像吧。這一塊我們首先就是要導(dǎo)入Line這個類,顧名思義就是來畫線的。這里我們用到了兩個方法,一個是add_xaxis()用來標明x軸的數(shù)據(jù)項有哪些,add_yaxis()用來標明y軸數(shù)據(jù)項表示的內(nèi)容和數(shù)據(jù)值。這一塊第一個數(shù)據(jù)項不能省略,因為你總不能y軸都不表示什么含義吧,接著我們就可以調(diào)用render方法就可以將代碼生成圖像。
# 導(dǎo)包 from pyecharts.charts import Line # 創(chuàng)建一個折線圖對象 line = Line() # 給折線圖對象添加x軸的數(shù)據(jù) line.add_xaxis(["中國","美國","英國"]) # 給折線圖對象添加y軸的數(shù)據(jù) line.add_yaxis("GDP",[30,20,10]) # 通過render方法,將代碼生成為圖像 line.render()
接著我們右鍵運行,就可以看到我們當前目錄下多了一個叫render.html的文件,相信你也知道這是一個前端界面文件,感興趣的可以打開看看,我們直接用瀏覽器打開就會得到我們上面繪制的折線圖了。
其實上面這個圖片看著還是有點單調(diào)的,我們還可以給他添點和數(shù)據(jù)無關(guān)的東西,比如標題,工具箱, 鼠標移動效果等。這些叫做全局配置選項,而上面我們配置的叫做系列配置選項。配置全局配置選項其實也很簡單,照著官網(wǎng)找到我們想要的直接CV就好了。
# 設(shè)置全局配置項 line.set_global_opts( # 設(shè)置標題內(nèi)容以及位置 title_opts=TitleOpts(title="GDP展示", pos_left="center", pos_bottom="1%"), # 設(shè)置圖例是否顯示 legend_opts=LegendOpts(is_show=True), # 設(shè)置工具箱是否顯示 toolbox_opts=ToolboxOpts(is_show=True), # 設(shè)置視覺映射是否顯示 visualmap_opts=VisualMapOpts(is_show=True), ) # 通過render方法,將代碼生成為圖像 line.render()
這里我是配置好了標題,圖例,工具箱和鼠標移動效果,當然你還可以配置些別的,這里只是演示用法。記住我們要把render()方法放在最后,不然就設(shè)置不成功了。
這里我把鼠標放在上面確實有了顯示,下方也多了一個標題,右上角也多了一個工具箱,工具箱支持很多功能例如保存圖片,切換柱狀圖,展示數(shù)據(jù)等等,功能還是非常豐富的。
到這里我們pyecharts的入門使用就到此為止了,是不是特別簡單,我們只需要把官網(wǎng)的模板拿過來照葫蘆畫瓢就好了。
這東西上手還是挺簡單的,只要可以拿到JSON數(shù)據(jù),然后照葫蘆畫瓢就好了,業(yè)務(wù)在于如何拿到JSON數(shù)據(jù)然后轉(zhuǎn)換,繪制可視化圖形就是美工了。
以上就是Python利用pyecharts實現(xiàn)數(shù)據(jù)可視化的示例代碼的詳細內(nèi)容,更多關(guān)于Python pyecharts數(shù)據(jù)可視化的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在Python Flask App中獲取已發(fā)布的JSON對象的解決方案
這篇文章主要介紹了在Python Flask App中獲取已發(fā)布的JSON對象的解決方案,文中通過代碼示例介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-08-08Effective Python bytes 與 str 的區(qū)別
這篇文章主要介紹了Effective Python bytes 與 str 的區(qū)別,Python 有兩種類型可以表示字符序列,下面圍繞Python bytes 與 str 的相關(guān)資料展開內(nèi)容,需要的朋友可以參考一下2021-11-11Python中棧、隊列與優(yōu)先級隊列的實現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Python中棧、隊列與優(yōu)先級隊列的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-06-06Python基礎(chǔ)教程之if判斷,while循環(huán),循環(huán)嵌套
這篇文章主要介紹了Python基礎(chǔ)教程之if判斷,while循環(huán),循環(huán)嵌套 的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04