當前位置:
首頁 > 科技 > Python 程序員,如何實現狂拽酷炫的 3D 編程技術?

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中國大數據技術大會攜主題「大數據新應用」再度強勢來襲。本次大會由華東師範大學副校長、教授周傲英,百度商業智能實驗室主任熊輝,阿里巴巴副總裁李飛飛三位會議主席對大會內容把關,多位兩院院士參與指導,由最了解行業痛點的一線從業者為同行打造。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

Google 殺死了 160 個產品!
Google 重返中國的憂慮

TAG:CSDN |