自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

學(xué)習(xí)Python數(shù)據(jù)可視化,看這篇就夠了

大數(shù)據(jù) 數(shù)據(jù)可視化
提到數(shù)據(jù)可視化,大家可能腦海里就會(huì)出現(xiàn)里各種圖表、絢麗大屏、或者科幻電影里酷炫儀表。其實(shí),日常生活里面,到處都有數(shù)據(jù)可視化的影子。

 1.無處不在的數(shù)據(jù)可視化

提到數(shù)據(jù)可視化,大家可能腦海里就會(huì)出現(xiàn)里各種圖表、絢麗大屏、或者科幻電影里酷炫儀表。其實(shí),日常生活里面,到處都有數(shù)據(jù)可視化的影子。

[[342763]]

 

手表就是數(shù)據(jù)可視化的例子,最少只需要3個(gè)視覺元素(時(shí)針、分針和秒針),就可以表達(dá)43200個(gè)狀態(tài)。另外,水銀溫度計(jì)和地鐵線路圖,也是生活中數(shù)據(jù)可視化的運(yùn)用!

2.為什么需要數(shù)據(jù)可視化?

視覺是人類獲取外界信息最高速,最主要也是最重要渠道。 超過50%的人腦功能用于視覺感知,而大腦接收到的信息 90% 來自視覺,人類利用視覺獲取和處理的信息量,遠(yuǎn)遠(yuǎn)超出其他途徑。

 

視覺的信息帶寬是最大的,其次是觸覺和聽覺。

人類大腦處理圖像的速度比文本快 6 萬倍。所謂的“可視化”,就是利用人類視覺化的思考能力,對(duì)數(shù)據(jù)進(jìn)行可視表達(dá)以增強(qiáng)認(rèn)知的技術(shù)。

3.Python數(shù)據(jù)可視化學(xué)習(xí)

說到python的常見應(yīng)用,很多人會(huì)想到python的數(shù)據(jù)分析,作為數(shù)據(jù)分析中的表現(xiàn)層面,數(shù)據(jù)可視化都是其中必不可少的部分。但本文并非只推薦無任何數(shù)據(jù)分析需求僅需要做漂亮可視化圖表的人學(xué)習(xí)python數(shù)據(jù)可視化。本文介紹的只是一些常見的python第三方庫,畢竟作為一個(gè)工具來說,這些第三方庫使用起來并不是非常方便,也有一定的學(xué)習(xí)成本,普通的可視化推薦使用excel、wps,有條件的可以使用各種BI工具如:tableau,powerBI等。

那什么情況下需要用到python數(shù)據(jù)可視化庫呢?

如果是在某些特定場(chǎng)景中,需要用到python做數(shù)據(jù)分析,輸出各種圖表用于輔助分析或者數(shù)據(jù)報(bào)告展示,那這些庫則顯得必不可少,接下來將介紹一些如何學(xué)習(xí)的方法和第三方庫的介紹:

比如選擇一款合適的庫,先了解各種庫的特點(diǎn),選擇合適的庫,然后學(xué)習(xí)繪圖原理,掌握的知識(shí)點(diǎn)

選擇官網(wǎng)是最省錢和系統(tǒng)的學(xué)習(xí)的最佳路徑,至于效率方面見仁見智。選擇書籍或視頻的方式也未嘗不可。

  • 了解幾大常用的可視化庫,比如特性、使用場(chǎng)景、效果圖等;
  • 選擇一款適合自己的第三方庫,比如要做國內(nèi)地圖類的項(xiàng)目,選擇pyecharts;
  • 學(xué)習(xí)該庫的繪圖原理,各種函數(shù)調(diào)用和參數(shù)修改,就是所謂的"調(diào)參";
  • 不斷練習(xí)、練習(xí)、練習(xí);

推薦學(xué)習(xí)使用的開發(fā)工具:JupyterNotebook。在數(shù)據(jù)分析和可視化的應(yīng)用中,jupyter無疑是首選,相比其他如pycharm等工具,可以將每一步的可視化圖表輸出在同一頁面中,方便比較分析。

 

 

4.可視化庫介紹

1、Matplotlib

官方文檔地址:

https://matplotlib.org/2.0.2/index.html

Gallery畫廊地址:

https://matplotlib.org/2.0.2/gallery.html

 

 

matplotlib是Python數(shù)據(jù)可視化庫的OG。盡管它已有十多年的歷史,但仍然是Python社區(qū)中使用最廣泛的繪圖庫。它的設(shè)計(jì)與MATLAB非常相似,MATLAB是20世紀(jì)80年代開發(fā)的專有編程語言。通常在python數(shù)據(jù)分析的教程中經(jīng)常會(huì)包含該庫的學(xué)習(xí)。

基礎(chǔ)講解:使用matplotlib繪圖的原理,主要就是理解figure(畫布)、axes(坐標(biāo)系)、axis(坐標(biāo)軸)三者之間的關(guān)系。

步驟:創(chuàng)建figure圖形對(duì)象-> 獲取對(duì)應(yīng)位置的axes坐標(biāo)系對(duì)象->調(diào)用axes對(duì)象,進(jìn)行對(duì)應(yīng)位置的圖形繪制->顯示圖形。下圖是幫助我們理解figure和axes的關(guān)系。

 

 

2、 Seaborn

官方文檔地址:

https://seaborn.pydata.org/tutorial.html

Gallery畫廊地址:

https://seaborn.pydata.org/examples/index.html

 

 

Seaborn利用matplotlib的強(qiáng)大功能,可以只用幾行代碼就創(chuàng)建漂亮的圖表。關(guān)鍵區(qū)別在于Seaborn的默認(rèn)款式和調(diào)色板設(shè)計(jì)更加美觀和現(xiàn)代。由于Seaborn是在matplotlib之上構(gòu)建的一個(gè)更高級(jí)的庫,因此還需要了解matplotlib以便調(diào)整Seaborn的默認(rèn)值,所以在matplotlib上的調(diào)參也可以在Seaborn上面使用。Seaborn針對(duì)的點(diǎn)主要是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)中的變量特征選取,seaborn可以用短小的代碼去繪制描述更多維度數(shù)據(jù)的可視化效果圖。

基礎(chǔ)講解:原理比較簡(jiǎn)單,主要是通過sns對(duì)象調(diào)用各種類型表格的函數(shù),這里舉一個(gè)例子:

 

  1. import numpy as np 
  2. import seaborn as sns 
  3. from scipy import stats, integrate 
  4. %matplotlib inline   #導(dǎo)入庫 
  5. sns.set(color_codes=True
  6. np.random.seed(sum(map(ord, "distributions")))#構(gòu)造數(shù)據(jù),每次產(chǎn)生的隨機(jī)數(shù)相同 
  7. x = np.random.gamma(6, size=200) 
  8.  #輸出圖像的主要函數(shù),distplot是直方圖,根據(jù)需求選擇不同的圖表函數(shù)即可sns.distplot(x, kde=False, fit=stats.gamma) 

 

 

 

3、Pyecharts

官方文檔地址:

https://pyecharts.org/

Gallery畫廊地址:

http://gallery.pyecharts.org/#/README

 

 

Echarts 是一個(gè)由百度開源的數(shù)據(jù)可視化,憑借著良好的交互性,精巧的圖表設(shè)計(jì),得到了眾多開發(fā)者的認(rèn)可。而 Python 是一門富有表達(dá)力的語言,很適合用于數(shù)據(jù)處理。當(dāng)數(shù)據(jù)分析遇上數(shù)據(jù)可視化時(shí),pyecharts 誕生了。

這是國人開發(fā)的一個(gè)Echarts與Python結(jié)合的輪子,可以結(jié)合JavaScript等前端技術(shù)定制我們要的主題風(fēng)格,功能非常強(qiáng)大,也是數(shù)據(jù)可視化非常常用的一個(gè)工具,也是比較推薦新手學(xué)習(xí)的。

基礎(chǔ)講解: 選擇圖表類型-> 聲明圖形類并添加數(shù)據(jù),比如添加x軸和y軸的數(shù)據(jù)->選擇全局變量set_global_opts,設(shè)置參數(shù)->顯示及保存圖表;

 

  1. from pyecharts.charts import Bar 
  2. from pyecharts import options as opts 
  3. # V1 版本開始支持鏈?zhǔn)秸{(diào)用bar = (    Bar()    .add_xaxis(["襯衫""毛衣""領(lǐng)帶""褲子""風(fēng)衣""高跟鞋""襪子"]) 
  4.     .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105]) 
  5.     .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49]) 
  6.     .set_global_opts(title_opts=opts.TitleOpts(title="某商場(chǎng)銷售情況")) 
  7. )bar.render()# 不習(xí)慣鏈?zhǔn)秸{(diào)用的開發(fā)者依舊可以單獨(dú)調(diào)用方法bar = Bar()bar.add_xaxis(["襯衫""毛衣""領(lǐng)帶""褲子""風(fēng)衣""高跟鞋""襪子"]) 
  8. bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105]) 
  9. bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49]) 
  10. bar.set_global_opts(title_opts=opts.TitleOpts(title="某商場(chǎng)銷售情況")) 
  11. bar.render() 

 

 

 

注:各種不同的圖表輸入的數(shù)據(jù)格式會(huì)有所不同,導(dǎo)致部分復(fù)雜圖表的設(shè)置難度較大。

4、ggplot

官方文檔地址:

http://ggplot.yhathq.com/

 

 

ggplot基于ggplot2,一個(gè) R 語言繪圖系統(tǒng),以及The Grammar of Graphics的概念。ggplot的運(yùn)行方式與matplotlib不同:它允許你對(duì)組件進(jìn)行分層以創(chuàng)建完整的繪圖。例如,你可以從軸開始畫,然后添加點(diǎn),然后是線、趨勢(shì)線等。雖然圖形語法被稱為繪圖的“直觀”方法,但經(jīng)驗(yàn)豐富的matplotlib用戶可能需要時(shí)間來適應(yīng)這個(gè)新的方式。

5、Bokeh

官方文檔地址:

https://docs.bokeh.org/en/latest/

Gallery畫廊地址:

https://docs.bokeh.org/en/latest/docs/gallery.html

 

 

與ggplot一樣,Bokeh同樣基于The Grammar of Graphics,但與ggplot不同的是,它是原生Python的,而不是從R語言移植過來的。它的優(yōu)勢(shì)在于能夠創(chuàng)建交互式的網(wǎng)站圖,它可以很容易地輸出為JSON對(duì)象、HTML或交互式Web應(yīng)用程序。Bokeh還支持流媒體和實(shí)時(shí)數(shù)據(jù)。

6、Pygal

官方文檔地址:

http://www.pygal.org/en/stable/

 

 

與Bokeh和Plotly一樣,pygal提供可以嵌入Web瀏覽器的交互式圖。它的主要區(qū)別在于能夠?qū)D表輸出為SVG格式。如果你使用較小的數(shù)據(jù)集,SVG格式的圖像就可以了。但是如果制作的圖表包含數(shù)十萬個(gè)數(shù)據(jù)點(diǎn),它們就會(huì)很難渲染并變得反應(yīng)遲鈍。

7、Plotly

官方文檔地址:

https://plotly.com/

 

 

你可能知道Plotly是一個(gè)數(shù)據(jù)可視化的在線平臺(tái),但你是否也知道可以從Python筆記本使用它的功能?與Bokeh一樣,Plotly的強(qiáng)項(xiàng)正在制作交互式圖,但它提供了一些在大多數(shù)庫中沒有的圖表,如等高線圖,樹狀圖和3D圖表。

8、Geoplotlib

Github地址:

https://github.com/andrea-cuttone/geoplotlib

 

 

geoplotlib是一個(gè)用于創(chuàng)建地圖和繪制地理數(shù)據(jù)的工具庫??梢允褂盟鼇韯?chuàng)建各種地圖類型,例如等值線,熱圖和點(diǎn)密度貼圖。你必須安裝Pyglet(面向?qū)ο蟮木幊探涌?才能使用geoplotlib。盡管如此,由于大多數(shù)的Python數(shù)據(jù)可視化庫都沒有提供地圖類型,因此有一個(gè)專門的庫還是可以的。

 

責(zé)任編輯:華軒 來源: 今日頭條
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)