當前位置:
首頁 > 最新 > 數據可視化不再繁瑣,python代碼幫你輕鬆搞定!

數據可視化不再繁瑣,python代碼幫你輕鬆搞定!

數據可視化是數據科學家工作的重要組成部分。在項目的早期階段,你通常會進行探索性數據分析(EDA)以獲取對數據的一些洞察。創建可視化確實有助於使事情更清晰易懂,特別是對於大型高維數據集。在你的項目結束時,能夠以清晰、簡潔和引人注目的方式展示你的最終結果非常重要,因為你的受眾往往是非技術性客戶,他們可以理解。

Matplotlib是一個流行的Python庫,可以用來很容易地創建數據可視化。但是,每次執行新項目時,設置數據、參數、圖形和繪圖都會變得非常繁瑣。在這篇博客文章中,我們將著眼於5個數據可視化,並使用Python的Matplotlib為他們編寫一些快速簡單的功能。與此同時,這裡有一個很棒的圖表,用於為工作選擇正確的可視化圖表!

用於為給定情況選擇適當的數據可視化技術的圖表

散點圖

散點圖非常適合顯示兩個變數之間的關係,因為你可以直接看到數據的原始分布。你還可以通過對組進行顏色編碼來簡單地查看不同組數據的關係,如下圖所示。想要可視化三個變數之間的關係?沒問題!只需使用另一個參數(如點大小)就可以對第三個變數進行編碼,如下面的第二個圖所示。

散點圖與顏色分組

現在我們看一下代碼。我們首先用別名「plt」導入Matplotlib的pyplot。要創建一個新的情節圖,我們稱之為plt.subplots()。將x軸和y軸數據傳遞給函數,然後將這些數據傳遞給ax.scatter()以繪製散點圖。我們還可以設置點的大小,點顏色和alpha透明度。你甚至可以設置Y軸為對數刻度。標題和軸標籤然後專門為該圖設置。這是一個易於使用的函數,可以首尾相連創建散點圖!這裡還是要推薦下小編的Python學習裙:『』五八八,零九零,九四二『』不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括小編自己整理的一份2018最新的Python資料和0基礎入門教程,歡迎初學和進階中的小夥伴。在不忙的時間我會給大家解惑

線條圖

如果能清楚地看到一個變數與另一個變數差異很大,即它們具有高協方差,則最好使用線圖。讓我們看看下圖來說明。我們可以清楚地看到,所有專業的百分比隨時間變化很大。用散點圖繪製這些圖將會非常混亂,這使得很難真正理解並看到發生了什麼。線圖非常適合這種情況,因為它們基本上給了我們兩個變數(百分比和時間)的協方差的快速總結。同樣,我們也可以使用顏色編碼進行分組。

示例線圖

這是線圖的代碼。這與上面的分散很相似。只有一些變數的微小變化。

直方圖

直方圖對查看(或真正發現)數據點的分布很有用。查看下面我們繪製頻率與IQ直方圖的直方圖。我們可以清楚地看到中心的集中度和中位數,也可以看到它遵循高斯分布。例如,使用條(而不是散點)可以清楚地顯示出每個箱的頻率之間的相對差異。使用分箱(離散化)確實有助於我們看到「更大的圖像」,就像我們使用所有沒有離散分箱的數據點一樣,可能會在可視化中產生大量噪音,使得很難看到到底發生了什麼。

直方圖示例

下面顯示了Matplotlib中直方圖的代碼。有兩個參數需要注意。首先,n_bins參數控想像一下,我們想要比較數據中兩個變數的分布。有人可能會認為你必須製作兩個獨立的直方圖並將它們並排放在一起進行比較。但是,實際上有更好的方法:我們可以用不同的透明度覆蓋直方圖。看看下面的圖。統一分布被設置為具有0.5的透明度,以便我們可以看到它的後面是什麼。這允許用戶直接查看同一圖上的兩個分布。

在疊加直方圖的代碼中需要設置幾件事情。首先,我們設置水平範圍以適應兩種可變分布。根據這個範圍和期望數量的箱子,我們實際上可以計算每個箱子的寬度。最後,我們在同一個圖上繪製兩個直方圖,其中一個直觀圖更透明。

當你嘗試對幾乎沒有(可能

條形圖

常規的條狀圖在下面的第一張圖中。在barplot()函數中,x_data表示x軸上的代號,y_data代表y軸上的條高。錯誤欄是在每個可以繪製的條上居中顯示標準偏差的額外行。

分組條形圖允許我們比較多個分類變數。看看下面的第二個條形圖。我們比較的第一個變數是分數如何隨組(組G1,G2,...等)而變化。我們還將性別本身與顏色代碼進行比較。看看代碼,y_data_list變數現在實際上是一個列表列表,其中每個子列表代表一個不同的組。然後,我們循環遍歷每個組,並為每個組繪製x軸上每個刻度的條形;每個組都是彩色編碼的。

堆疊的條形圖非常適合可視化不同變數的分類構成。在下面的堆積條形圖中,我們比較了日常的伺服器負載。使用彩色編碼堆棧,我們可以輕鬆查看並了解哪台伺服器每天的工作效率最高,以及每天的負載如何,並與其他伺服器進行比較。此代碼遵循與分組條形圖相同的樣式。我們循環遍歷每一個組,除了這次我們在舊的欄上畫新的,而不是在他們旁邊繪製。

常規條形圖

分組條形圖

堆積條形圖

箱型圖

我們之前查看了直方圖,這些直方圖非常適合可視化變數的分布。但是如果我們需要更多的信息呢?也許我們想要更清楚地看待標準偏差?也許中位數與平均值有很大差異,因此我們有很多異常值怎麼辦?如果存在如此歪斜,並且許多值都集中在一方怎麼辦?

這就是箱形圖出現的地方。箱形圖給我們提供了上述所有信息。實線框的底部和頂部總是第一和第三四分位數(即數據的25%和75%),並且框內的帶總是第二四分位數(中值)。箱須圖(即末端具有條紋的虛線)從框中延伸以顯示數據的範圍。

由於箱形圖是為每個組、變數都繪製了,因此很容易設置。 x_data是組/變數的列表。 Matplotlib函數boxplot()為y_data的每列或每個向量的序列y_data生成一個箱形圖;因此x_data中的每個值都對應於y_data中的列/向量。所有我們所要設定的是情節的美學。

箱形示例

結論

使用Matplotlib有5個快速簡單的數據可視化。將事物抽象成函數總是會讓你的代碼更易於閱讀和使用!我希望你喜歡這篇文章,並且學到了一些新的有用的東西。如果你有,點個贊,留下你的評論!


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

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


請您繼續閱讀更多來自 Python語言學習 的精彩文章:

python腳本實現《百萬英雄》文字識別 自動搜索

TAG:Python語言學習 |