想用Python做數據可視化?先邁過這個「坎」

2020-12-15 騰訊網

文丨Chris Moffitt

編譯丨姜瑞琪

觸脈諮詢數據分析師

用過python的人都會面臨一個問題,尤其是初學者:我應該選哪個來實現數據可視化?

面對眾多的選項,要弄清楚什麼時候使用哪個的問題沒那麼容易。

這就是今天分享這篇文章的初衷,通過列舉一些使用頻率較高的工具,以及使用它們創建簡單的條形圖的方法,幫助各位進行簡單的梳理。

以下就是將要用來創建繪製數據的示例:

·Pandas

·Seaborn

·Ggplot

在示例中,我將使用pandas進行數據處理並使用它來完成可視化的效果。其實,在大多數情況下,可視化工具可以在沒有pandas的情況下使用,但pandas+可視化工具的組合很常見,這是一個很好的起始點。

pandas

我通常會用pandas DataFrame開始製作各種繪圖的工作。這樣有一個優勢,就是pandas提供內置的繪圖功能,它是matplotlib之上的一層。

首先,導入我們的模塊並將數據放入DataFrame中,此外,還將對數據進行排序並讓其限制在前10行中。

所有的示例中使用的預算行都相同,以下是導入DataFrame後前5個項目的樣子:

我們可以手動設置外觀並創建一個條形圖:

如果想保存生成的圖像,則需要以下的代碼:

製作成功後會如下所示:

如果想對Y軸進行更多格式化,則需要一些matplotlib的操作,而不能僅僅通過pandas來實現。

Seaborn

Seaborn是基於matplotlib的可視化庫,它能讓數據可視化在視覺上更具有吸引力,並且能夠很好的與pandas一起使用。

我喜歡用Seaborn的一點就在於它能夠快速更改調色板以使其外觀更好看。

標準導入並讀取數據:

在使用的時候,我發現一件事情就是必須使用x_order明確設置x_axis上項目的順序。

對這節代碼設置順序,並設置繪圖和條形圖顏色的樣式:

示例中,我們使用matplotlib旋轉x軸標題,以便在實際場景中可以閱讀。視覺上,顯示看起來不錯。理想情況下,可以使用matplotlib中的plt.yticks在y軸上設置刻度線的格式。

ggplot

ggplot與Seaborn相似,都是建立在matplotlib之上,並以一種簡單的方式優化提升matplotlib可視化的視覺吸引力。但有一點與seaborn不同,它是R的ggplot2埠,因此,某些API是非Python的,但功能非常強大。

繼續導入並讀取我們的數據:

現在,我們可以通過將幾個ggplot命令連接在一起來構建繪圖:

通過使用print p可以顯示圖形。

實操中,確實需要花一些時間才能弄清楚如何將文本旋轉90度,以及如何在x軸上排列標籤。

我發現scale_y_continous是一個很酷的功能,它能使標籤的使用變得更簡單。

如果要保存圖像,可以使用ggsave輕鬆進行:

最終生成的圖像。

總結:

使用Python繪製數據圖表時,選擇太多是好事兒也是壞事兒。這意味著我們需要根據要完成的工作找出適合的方法,去確定這些工具能否有用。

這沒辦法給出一個明確的定義,以此為基準進行選擇。以下是我總結的一些想法:

·pandas對於簡單的繪製圖表很方便,但通常需要搭配matplotlib進行使用。

·seaborn可以支持複雜的可視化方法,在配色方案上也有一定優勢。但是,仍需要用matplotlib進行調整。

·ggplot仍然在不斷優化。

希望對各位有所幫助~

原文連結:https://pbpython.com/visualization-tools-1.html,有所刪減及修改

相關焦點

  • 【Python教程】用Python進行數據可視化
    ,數據可視化也能讓人們更直觀的傳遞數據所要表達的信息。下面我們就用上面這個簡單的數據集作為例子,展示用 Python 做出9種可視化效果,並附有相關代碼。一般都是從matplotlib上手Python數據可視化,然後開始做縱向與橫向拓展Seaborn:是一個基於matplotlib的高級可視化效果庫,針對的點主要是數據挖掘和機器學習中的變量特徵選取,seaborn可以用短小的代碼去繪製描述更多維度數據的可視化效果圖Plotly:繪圖工具,是建立在一個開放源碼庫plotly.js上,由一家擁有多種產品和開源工具的
  • 推薦: 一本「高顏值」的Python語言數據可視化圖書
    人生苦短,我用python!
  • 數據統計可視化——python生成詞雲
    有的人會認為它是文本挖掘的可視化、有的人 會給一些用戶打上標籤、有的人則只是想玩玩這酷炫的詞彙……但詞雲產生的視覺效果才是讓人更著迷的地方。詞雲主要是對文本中出現頻率較高的「關鍵詞」進行視覺上的突出,讓人更直觀地看出文本的重點。本文針對上一篇文章
  • Python的數據可視化:對比7種工具包
    幸運的是,近幾年出現很多新的數據可視化Python庫彌補了這個差距,matplotlib已經成為主要的數據可視化庫,但是還有很多其它的庫,比如vispy,bokeh,seaborn,pygal,folium,和networkx,他們都建立在matplotlib的基礎之上,或者擁有matplotlib所不具有的功能。
  • 13分鐘,教你python可視化分析20W數據,找到妹子最愛的內衣
    我打開某寶首頁,頓時想對某些商品的評論進行一次爬取分析。一提到爬取,我們肯定先想到python,那可真的是利器,不過我提醒一句,不允許爬的千萬不要碰。python雖然爬取簡單,但是做可視化分析需要費不少力氣,雖然有 Matplotlib 和 Seaborn 兩個包就足夠了。
  • Python數據可視化—Seaborn
    今天為大家分享的小技巧是python的可視化畫圖庫Seaborn。相信很多小俠客用過matplotlib、pyecharts等可視化庫,可是為什麼還要介紹Seaborn呢?因為它修復了上述兩個庫的一些缺點,比如Seaborn提供了大量的高級接口和自定義主題,而matplotlib沒有這些接口使得很難確定哪些設置來自定義圖表。
  • 用 python 做一個動態可視化的交互大屏
    今天我們就來用 python 做一個動態可視化的交互大屏圖。隨著科技的飛速發展,數據呈現爆發式的增長,任何人都擺脫不了與數據打交道,社會對於「數據」方面的人才需求也在不斷增大。因此了解當下企業究竟需要招聘什麼樣的人才?需要什麼樣的技能?不管是對於在校生,還是對於求職者來說,都顯得很有必要。
  • Python數據可視化教程之基礎篇
    經過學習之後,我總結了利用python實現可視化的三個步驟:確定問題,選擇圖形轉換數據,應用函數參數設置,一目了然python中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,
  • Python數據可視化-seaborn Iris鳶尾花數據
    StripplotStripplot的本質就是把數據集中具有quantitative屬性的變量按照類別去做散點圖(Scatterplot)。我們將紙鳶花數據集中不同種類花的sepal length做stripplot可視化上邊左側的圖片便是在默認風格下用stripplot繪製的散點圖。
  • Python的可視化工具概述
    >ggplotBokehpygalPlotly在例子用,我將使用pandas操作數據,並啟動其可視化.在大多數情況下使用這些工具不需要pandas,但是我覺得pandas+可視化工具如此普遍,這是最好的起點。
  • 「乾貨」產品經理教你用Python+Flourish搞掂超酷的數據可視化
    近日,小路通過python自動獲取全球各國新冠肺炎確診歷史數據,利用可視化工具,製作動態排名數據可視化圖表,廢話少說,先來看看最終的展示效果,talk is cheap, show me the demo:看起來有木有很炫酷,其實做起來也不複雜,都有套路可循,小路這就為你奉上套路
  • 用 Python 做一個動態可視化的交互大屏
    我們爬取的欄位,既有一級頁面的相關信息,還有二級頁面的部分信息;爬取思路:先針對某一頁數據的一級頁面做一個解析,然後再進行二級頁面做一個解析,最後再進行翻頁操作;使用工具:Python+requests+lxml+pandas+time
  • 15種獨一無二的創新數據可視化方式
    utm_source=blog&utm_medium=11-data-visualizations-python-r-tableau-d3js2. 用R語言創建BBC式的可視化嚴格意義上來講,這不是可視化,不過也基本上如此。上圖展示了BBC數據團隊發布的可視化融合。
  • python 數據可視化利器 plus
    python 數據可視化利器 plus概述前言推薦plotlybokehpyecharts後記前言更新:上一篇文章《python 數據可視化利器》中,我寫了 bokeh、pyecharts前段時間有讀者向我反映,想看看數據可視化方面的文章,這不?現在就開始寫了,如果你想看哪些方面的文章,可以通過留言或者後臺告訴我。數據可視化的第三方庫挺多的,這裡我主要推薦兩個,分別是 bokeh、pyecharts。如果我的文章對你有幫助,歡迎關注、點讚、轉發,這樣我會更有動力做原創分享。
  • Python爬50W數據,BI做出可視化後,我有了答案
    一次完整的python數據分析流程是怎麼樣的?使用python從網站抓取數據,並將這些數據保存到SQLite資料庫中,然後對數據進行清洗,最後對數據進行數據可視化分析。可是熟悉的人應該知道,python爬取簡單,但是分析起來是很困難的,SQL語句、Pandas和Matplotlib這些十分繁瑣,一般人也不會。
  • Python學習第89課-數據可視化之直方圖繪製
    【每天幾分鐘,從零入門python編程的世界!】假設你想投資某一個城市的房地產,你肯定需要對這個城市的人口分布、增長潛力做一個調查,這時我們就需要做一個直方圖(histogram plot)。實例:假設我們有一份C城市的人口年齡的數據,我們為方便起見,在這裡只列出很少的一部分數據,用一個列表City_C_Age表示這個城市的人口年齡數據:City_C_Age=[2,3,1,7,4,5,3,1,7,6,9,8,13,16,12,17,15,14,18,,20,23,28,25,23,27,25,29,26,24,25,30,34,37,36,38,32,35,37,36,41,42,47,47,48,43,46,44,53,54,58,52,51,55,56,69,60,63,67,64,72,74,78,75,89,85,83,90,93
  • 用Python構建和可視化決策樹
    Python決策樹Python是一種通用程式語言,它為數據科學家提供了強大的機器學習包和工具。在本文中,我們將使用python最著名的機器學習包scikit-learn來構建決策樹模型。我們將使用scikit learn提供的「DecisionTreeClassifier」算法創建模型,然後使用「plot_tree」函數可視化模型。
  • ​數據可視化 | 6個基本可視化Python庫
    數據可視化是使用可視元素(例如圖表,圖形等)表示數據的過程,有助於從數據中獲取有意義的見解。它旨在揭示數據背後的信息,並進一步幫助查看者查看數據中的結構。數據可視化將使任何人只要對數據科學的了解最少,即可獲得科學發現,並幫助人們輕鬆地交流信息。畢竟,一張圖片勝過千言萬語。在本文中我們將介紹一些Python支持的最出色的可視化庫。
  • 用Python進行數據可視化的10種方法
    數據科學家並不遜色於藝術家。他們用數據可視化的方式繪畫,試圖展現數據內隱藏的模式或表達對數據的見解。更有趣的是,一旦接觸到任何可視化的內容、數據時,人類會有更強烈的知覺、認知和交流。 在數據科學中,有多種工具可以進行可視化。在本文中,我展示了使用Python來實現的各種可視化圖表。 怎樣才能在Python中實現可視化?
  • 通過法考,選擇從事律師工作,必須邁過實習律師的3個坎
    通過法考,意味著你與法律職業近在咫尺,選擇成為一名律師,可能會是不少人的選擇,也許你是帶著理想而來,也許你是生活所迫,也許你什麼也沒想,只是想嘗試這份工作。今天我們就聊一聊,要成為一名執業律師之前的一個特殊階段——實習律師。在這個階段,你必須邁過三個坎。