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