Python 程序員,如何實現狂拽酷炫的 3D 編程技術?
作者 | 倪家禹
責編 | 郭芮
今天給大家介紹一位美麗的姑娘。她的名字叫Pyecharts,打從我第一眼見到她後,就深深地被她迷住,並且愛上了她。
簡單說一下她的來歷:Pyecharts是一款強大的可視化工具。百度開發了一款基於JS強大的可視化庫Echarts,可我們在繪圖時,通常並不使用前端的技術來整理數據,而轉換數據結構又非常麻煩。Pyecharts發揮了python膠水語言的特性,可以很好地幫助我們做數據可視化。
本文圍繞Pyecharts的使用、結果呈現和優缺點,分為以下四個部分:
從2D到3D,不一樣的效果
任何可視化庫的應用都是從一張簡單的柱狀圖開始。首先導入一份空氣質量的數據。研究下5個城市的AQI指數。
數據是這樣的:
Pyecharts對於數據結構的要求非常統一簡單。把數據轉換成列表總沒錯。設定好圖表的標題、副標題、顏色等一些參數,就可以直接出圖了。
發現了pyecharts一大特性么?圖都是可交互的!
簡單的柱狀圖顯然是不能滿足你們的,我們繼續。接下來導入一份省會城市快餐店數量的數據。
同樣把數據放入列表中。設定圖表的一些參數,如長寬、背景顏色等,可以做縱向的堆積柱狀圖,可以把直角坐標改為極坐標,甚至做極坐標分類堆疊柱狀圖!大家可以看看不同的圖表下,同樣的數據呈現什麼效果:
留個小思考題:大家可以嘗試用PPT製作上圖。
平面的圖,我們看了好幾個了,來個3D的吧。這裡導入一份某公司每日銷量數據。數據結構如下,縱坐標為一年的52周,橫坐標為一周的7天。
這回數據結構調整略複雜,我們要給每一條數據確認空間中的位置,格式如下圖:
具體轉換方式我們看下代碼,這裡要設置的東西比較多,具體效果大家可以自己試著調整下裡面的參數。
見證奇蹟的時刻到了!
好,接著我又有一個小問題,如果我把這一根根高聳的柱子壓扁會是什麼結果呢?
這不就是我們非常熟悉的熱力圖嗎?
如果我們還想再深入的研究下銷量情況,怎麼辦呢?我取了其中第一周的數據,來畫個玫瑰圖:
或者漏斗圖:
過癮吧?!這裡給大家展示的是Pyecharts能展示的不同類型的圖表,實際應用時可以按需選擇。
玩轉Pyecharts:層出不窮的花樣!
我先製作了一個儀錶盤圖用來統計我每天加班的概率:
然後圖是這樣的,大家可以清晰看到,那醒目的四個9:
下面是一個水球圖,這個圖蠻有意思的,我們可以自己繪製圖形的形狀,不過你得先明白一個叫SVG的東東。有興趣可以查看官網的案例。
數據可以畫成圖,文字當然也可以:
導入圖片,看清楚了,我給你畫張散點圖!
看到不,是不是很簡單,想怎麼畫就怎麼畫!(小夥伴們表示很滿意,都覺得我畫出了他們的心聲)
圖表會說話:用圖表體現趨勢變化
先導入一份生產成本核算的數據,數據為每個月原料價格和產品造價。
可以玩玩組合圖表:
如果有熱愛炒股的小夥伴,還可以畫K線圖:
*K線圖需要四個參數,開盤價,收盤價,最低價,最高價
圖表會說話:用圖表體現數據分布關係
還是那份成本核算的數據,我們來研究下原料成本和生產價格之間的關係,先畫個散點圖:
似乎是線性關係,對圖表加工一下看看。
散點圖的進階版——漣漪散點圖
其實這裡的圖案有好多種,大家可以一個個去試試:"rect", "roundRect", "triangle", "diamond","pin", "arrow"。
有小夥伴會問,散點圖能不能展現空間分布呢?
能!用一份上海餐飲數據來看:
出圖!這裡點的顏色越深代表人均價格越貴。
分析運動員的身體素質強弱:
採集了8個運動員的身材指數,畫個雷達圖:
雷達圖用的是極坐標系,而我們畫的一些常規圖用的是直角坐標系,那麼,是不是還有其他坐標系呢?
平行坐標系。以空氣質量數據為例,再添加一個自定義指示器,我們可以得到這個:
可以同時顯示城市及其空氣質量情況,方便吧!
多樣數據可視化:文本與地圖的展示
分析某篇文章中的詞頻,可以畫詞雲。看這裡:
幾行代碼就可以搞定。
地圖數據能做的就更多了,比如地理軌跡圖:
引用一份中國資本流動的數據,分析北上廣深的投資流向:
就可以分析北上廣深這四個城市資本流出的情況啦。
結果呈現:你的PPT可以亮起來!
Pyecharts的圖表是可以在Jupyter Notebook中直接顯示的,也可以通過render方法渲染出HTML在瀏覽器中顯示,還可以插入PPT使用:
圖表也可以嵌入在web框架中,比如Django、Flask。Pyecharts的官網就是這樣做出來的。
我為什麼選擇Pyecharts?
python有很多繪圖的庫,諸如matplotlib、seaborn、bokeh等等,但是如果讓我只選擇其中一款,pyecharts會是我的不二選擇。它有友好的中文文檔和十分簡潔的操作方法,為我們的數據分析工作提供了許多便利,是值得擁有的!
當然,也不是沒有缺點,pyecharts是一款偏結果表達的可視化庫,在統計分析可視化上並不出彩。其次,這是一款很年輕的庫,很多功能仍在開發中,但它也給了我們無限期待,相信不久的將來,它將變得越來越強大!
作者:倪家禹,城市數據團特約撰稿人,數據分析師(Python)微專業學員,喜歡用數據挖掘生活中的小秘密。對數據研究有著敏銳的洞察力,善於把複雜的問題簡單化,簡單的問題流程化。希望大家通過數據感受生活的魅力。
聲明:本文為作者投稿,版權歸其個人所有。
2018 中國大數據技術大會
BDTC 2018
BDTC 2018中國大數據技術大會攜主題「大數據新應用」再度強勢來襲。本次大會由華東師範大學副校長、教授周傲英,百度商業智能實驗室主任熊輝,阿里巴巴副總裁李飛飛三位會議主席對大會內容把關,多位兩院院士參與指導,由最了解行業痛點的一線從業者為同行打造。


※Google 殺死了 160 個產品!
※Google 重返中國的憂慮
TAG:CSDN |