前語(yǔ)
Matplotlib是一個(gè)盛行的Python/ target=_blank class=infotextkey>Python庫(kù),能夠很簡(jiǎn)單地用于創(chuàng)立數(shù)據(jù)可視化。可是,設(shè)置數(shù)據(jù)、參數(shù)、圖形和繪圖在每次履行新項(xiàng)目時(shí)都或許變得十分紊亂和繁瑣。并且由于運(yùn)用不同,咱們不知道挑選哪一個(gè)圖例,比方直方圖,餅狀圖,曲線圖等等。這里有一個(gè)很棒的思想導(dǎo)圖,能夠協(xié)助您為作業(yè)挑選正確的可視化作用:
咱們關(guān)于這張思想導(dǎo)圖中的首要圖例做一些解說(shuō):
散點(diǎn)圖
散點(diǎn)圖十分合適顯現(xiàn)兩個(gè)變量之間的聯(lián)系,由于您能夠直接看到數(shù)據(jù)的原始散布。您還能夠經(jīng)過(guò)如下圖所示的對(duì)組進(jìn)行色彩編碼來(lái)檢查不同數(shù)據(jù)組的這種聯(lián)系。
想要可視化三個(gè)變量之間的聯(lián)系嗎?!徹底沒(méi)有貳言只需運(yùn)用另一個(gè)參數(shù)(如點(diǎn)巨細(xì))對(duì)第三個(gè)變量進(jìn)行編碼,如下面的第二個(gè)圖所示,咱們把這個(gè)圖叫做冒泡圖。
散點(diǎn)圖函數(shù)舉例:
- scatter(x_data,y_data,s=10,color=color,alpha=0.75)
線圖
當(dāng)你能清楚地看到一個(gè)變量與另一個(gè)變量之間改變很大時(shí),最好運(yùn)用線圖。讓咱們看看下面的圖來(lái)闡明。咱們能夠清楚地看到,一切專業(yè)的百分比隨時(shí)刻改變很大。用散點(diǎn)圖來(lái)制造這些圖會(huì)十分凌亂,很難真實(shí)了解和看到發(fā)生了什么。直線圖十分合適這種狀況,由于它基本上能夠快速總結(jié)兩個(gè)變量(百分比和時(shí)刻)的協(xié)方差。相同,咱們也能夠經(jīng)過(guò)色彩編碼來(lái)運(yùn)用分組。
線圖代碼舉例:
- plot(x_data,y_data,lw=2,color='#539caf',alpha=1)
直方圖
直方圖關(guān)于檢查(或真實(shí)發(fā)現(xiàn))數(shù)據(jù)點(diǎn)的散布很有用。看看下面的柱狀圖,咱們制造了頻率和智商的柱狀圖。咱們能夠清楚地看到向中心的濃度和中值是什么。咱們也能夠看到它遵從一個(gè)高斯散布。運(yùn)用條形圖(而不是散點(diǎn)圖)能夠讓咱們清楚地看到每個(gè)箱子頻率之間的相對(duì)差異。運(yùn)用箱子(離散化)真的協(xié)助咱們看到“更大的畫面”,假如咱們運(yùn)用一切沒(méi)有離散箱子的數(shù)據(jù)點(diǎn),在可視化中或許會(huì)有許多噪音,使咱們很難看到究竟發(fā)生了什么。
假定咱們要比較數(shù)據(jù)中兩個(gè)變量的散布。有人或許會(huì)以為,你有必要制造兩個(gè)獨(dú)立的直方圖,把它們放在一同比較。可是,實(shí)踐上有一個(gè)更好的辦法:咱們能夠用不同的透明度掩蓋直方圖。看看下面的圖。均勻散布的透明度設(shè)為0。5這樣咱們就能看到它的背面。這答應(yīng)運(yùn)用直接檢查同一圖上的兩個(gè)散布。
直方圖代碼舉例:
- hist(data,n_bins=n_bins,cumulative=cumulative,color='#539caf')
條形圖
當(dāng)您企圖將類別很少(或許少于10個(gè))的分類數(shù)據(jù)可視化時(shí),條形圖是最有用的。假如咱們有太多的類別,那么圖中的條形圖就會(huì)十分紊亂,很難了解。它們十分合適分類數(shù)據(jù),由于您能夠依據(jù)條形圖的巨細(xì);分類也很簡(jiǎn)單區(qū)分和色彩編碼。咱們將看到三種不同類型的條形圖:慣例的、分組的和堆疊的:
慣例的條形圖代碼舉例:
- bar(x_data,y_data,color='#539caf',align='center')
分組圖代碼舉例:
- foriinrange(0,len(y_data_list)):ifi==0:bar(x_data,y_data_list[i],color=colors[i],align='center',label=y_data_names[i])else:bar(x_data,y_data_list[i],color=colors[i],bottom=y_data_list[i-1],align='center',label=y_data_names[i])
堆疊圖代碼舉例:
- foriinrange(0,len(y_data_list)):bar(x_data+alteration[i],y_data_list[i],color=colors[i],label=y_data_names[i],width=ind_width)






