姜 趙 謝曉偉
(江蘇農(nóng)牧科技職業(yè)學(xué)院,江蘇 泰州225300)
江蘇省農(nóng)產(chǎn)品質(zhì)量追溯平臺(tái)作為江蘇省對(duì)農(nóng)產(chǎn)品質(zhì)量安全“源頭治理”的有效措施,采集了大量農(nóng)業(yè)企業(yè)、合作社、農(nóng)戶(hù)以及農(nóng)產(chǎn)品指標(biāo)數(shù)據(jù),這些數(shù)據(jù)在有效進(jìn)行質(zhì)量追溯的同時(shí),還可以進(jìn)行深層次的加工利用,發(fā)現(xiàn)其內(nèi)在規(guī)律、挖掘其潛在價(jià)值,通過(guò)數(shù)據(jù)可視化技術(shù),將其直觀呈現(xiàn)給用戶(hù),發(fā)揮大數(shù)據(jù)優(yōu)勢(shì)。
Python 是一門(mén)解釋型高級(jí)動(dòng)態(tài)編程語(yǔ)言,它具有跨平臺(tái)、開(kāi)源、免費(fèi)的特點(diǎn)。Python 是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它支持命令式編程、函數(shù)式編程等,擁有大量的成熟擴(kuò)展庫(kù),這些擴(kuò)展庫(kù)可以支持所有領(lǐng)域的應(yīng)用開(kāi)發(fā)。還有人將Python 比作是一種“膠水語(yǔ)言”(glue language),因?yàn)樗梢匀诤显S多種不同語(yǔ)言編寫(xiě)的程序,實(shí)現(xiàn)了無(wú)縫拼接,這樣可以充分發(fā)揮各類(lèi)語(yǔ)言和工具的優(yōu)勢(shì),滿(mǎn)足各類(lèi)不同應(yīng)用場(chǎng)景下的需求。它源自ABC 語(yǔ)言,Modula-3 對(duì)其帶來(lái)了比較大的影響,它也融合了C 及UnixShell 的一些主要的使用習(xí)慣特點(diǎn)。發(fā)展至今,Python 的功能包括了類(lèi)、函數(shù)、異常處理等,數(shù)據(jù)類(lèi)型則包含表和字典等,同時(shí)通過(guò)模塊來(lái)拓展系統(tǒng),它將許多及其層面上的細(xì)節(jié)隱藏,交給編譯器處理,并凸顯出邏輯層面的編程思想,程序員可以花更多的時(shí)間用于思考程序的邏輯,而不是具體的實(shí)現(xiàn)細(xì)節(jié),這一特征吸引了廣大的程序員。
作為一個(gè)可視化的開(kāi)源庫(kù),它主要是通過(guò)Java Script 來(lái)得以最終實(shí)現(xiàn),是由百度公司創(chuàng)建的,可以在PC 或移動(dòng)設(shè)備上流暢運(yùn)行,兼容性極高,當(dāng)前絕大部分瀏覽器都可以使用。其底層主要是基于ZRender(一類(lèi)矢量圖形庫(kù)),它所提供的數(shù)據(jù)可視化圖表具有良好的可個(gè)性化定制性、交互性以及直觀性等。它還可實(shí)現(xiàn)各類(lèi)K 線圖、餅圖、散點(diǎn)圖、柱狀圖以及折線圖等的提供,此外,還包括盒形圖,漏斗圖、旭日?qǐng)D,關(guān)系圖、線圖以及地圖等,而且對(duì)于不同的圖相互間混搭也予以支持。本文中主要應(yīng)用的是Pyecharts 庫(kù),它是Python 中一個(gè)成熟的擴(kuò)展庫(kù),主要作用是用于生成Echarts 圖表的類(lèi)庫(kù),從本質(zhì)上來(lái)講是Echarts 與Python 的對(duì)接,使用Pyechsrts 既可以獨(dú)立生成網(wǎng)頁(yè),也可以在Flask、Django 等應(yīng)用架構(gòu)中集成使用。
為展現(xiàn)全省各地區(qū)2020 年追溯企業(yè)的分布,我們從江蘇省農(nóng)產(chǎn)品質(zhì)量追溯平臺(tái)獲取全省各市2020 年1-8 月份登記的追溯企業(yè)數(shù)據(jù),并采用地圖模式展現(xiàn),在展現(xiàn)的地圖中,通過(guò)地區(qū)顏色從藍(lán)到紅,展示數(shù)據(jù)的高低值,直觀反映各地區(qū)開(kāi)展農(nóng)產(chǎn)品質(zhì)量追溯的情況。
部分實(shí)現(xiàn)代碼如圖1 所示:
圖1 地圖代碼實(shí)現(xiàn)
執(zhí)行此段代碼后,我們可以輸出圖2 所示的效果:
圖2 地圖效果展現(xiàn)
農(nóng)產(chǎn)品的生長(zhǎng),我們關(guān)注其澆灌度的影響,降雨和蒸發(fā)量是決定其土壤水分的重要因素,我們對(duì)于降雨量和蒸發(fā)量采用柱狀與折線圖二合一的方式展現(xiàn),部分實(shí)現(xiàn)代碼如圖3 所示:
圖3 柱狀圖、折線圖二合一代碼實(shí)現(xiàn)
執(zhí)行后效果如圖4 所示:
圖4 降雨量與蒸發(fā)量柱狀、折線二合一效果展現(xiàn)
對(duì)于納入監(jiān)管的主體,其抽檢的結(jié)果也可以通過(guò)儀表盤(pán)的方式展現(xiàn),可以讓監(jiān)管部門(mén)和監(jiān)管人員一目了然看到該企業(yè)的農(nóng)產(chǎn)品抽檢情況,從而進(jìn)一步加強(qiáng)監(jiān)管的力度、提高監(jiān)管的手段。其代碼實(shí)現(xiàn)如圖5 所示:
圖5 儀表盤(pán)代碼實(shí)現(xiàn)
執(zhí)行程序后生成的儀表盤(pán)如圖6 所示:
圖6 儀表盤(pán)效果展現(xiàn)
Python 語(yǔ)言的數(shù)據(jù)可視化功能十分強(qiáng)大,不光是Pyecharts庫(kù),還有其他的繪圖庫(kù)可以應(yīng)用,本文僅通過(guò)三個(gè)實(shí)例的應(yīng)用研究來(lái)拋磚引玉,期待大家一同研究,利用Python 在數(shù)據(jù)可視化方面的特長(zhǎng),充分發(fā)揮大數(shù)據(jù)的應(yīng)用作用,為各行各業(yè)的業(yè)務(wù)開(kāi)展提供有力的可視化數(shù)據(jù)支撐。