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