python數據可視化(一)seaborn介紹及繪圖風格設置

2020-12-19 百家號

seaborn庫是對matplotlib庫更高級別的封裝,相當於提供了各種統計圖的模板,我們只需要將自己的數據傳入相應的方法即可,所以說,如果你學懂了前面matplotlib中的基礎繪圖方法的話,學習本主題內容將非常輕鬆(註:由於系統編輯器限制,所有代碼行有加粗的無序列表表示。)

首先,我們還是來看一下seaborn庫主要學習的內容及篇幅安排。

seaborn整體布局及風格設置seaborn調色板及顏色設置seaborn單變量分析繪圖(直方圖、條形圖)seaborn回歸分析繪圖seaborn繪製散點圖(分布散點圖、分簇散點圖)seaborn繪製盒圖、小提琴圖seaborn繪製熱度圖seaborn多圖繪製及facetgrid使用方法對於seaborn庫的內容,拆分比較細,這樣做的目的是一是想每篇文章具有一定的針對性,而是想看每篇文章的時間不要太長,希望大家能夠理解。好了,下面我們正式進入學習。

seaborn.set()設置風格

首先,看一下seaborn.set()函數參數:seaborn.set(context='notebook', style='darkgrid', palette='deep', font='sans-serif', font_scale=1, color_codes=True, rc=None),從這個set()函數,可以看出,通過它我們可以設置背景色、風格、字型、字體等。下面我們通過例子看看。首先,導入相關依賴包。注意這裡的#%matplotlib inline是jupyter notebook內置的一個魔法函數,有了%matplotlib inline 就可以省掉plt.show()了。

import seaborn as snsimport numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt%matplotlib inline然後,我們定義一個函數,這個函數主要是生成100個0到15的變量,然後用這個變量畫出6條曲線。

def sinplot(flip=2):x = np.linspace(0, 15, 100)for i in range(1, 6):plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)#調用這個函數sinplot

沒有設置任何風格

上面的圖中,我們對風格沒有做任何設置,接下來我們調用sns.set()函數來改變style,看看有何效果。

sns.set(style='white')sinplot()

通過set()函數設置style=white效果

那麼,問題來了,有人會說,這個set()函數這麼多參數,只要改變其中任意一個參數的值,繪圖效果就會發生變化,那我們怎麼知道哪種搭配是最佳效果呢,難道我們要一個個去測試嗎?當然不是,seaborn提供了5種默認的風格,我們在實際繪圖中只要選擇一種喜歡的風格就可以了,下面我們就看看這5種風格的用法及效果。

seaborn.set_style()使用5種默認風格

函數參數:seaborn.set_style(style=None, rc=None),這裡style可選參數值有:darkgrid,whitegrid,dark,white,ticks,下面我們就通過設置不同的風格,看看每種風格的效果。

sns.set(style='white')sns.set(style='whitegrid')sns.set(style='darkgrid')sns.set(style='dark')sns.set(style='ticks')sinplot()

style=whitegrid
style=darkgrid
style=ticks

當然,除了使用這種內置的5種風格,我們也可以通過下面幾個函數做一下個性化設置。

seaborn.despine()

這個函數可以移除圖像的上部和右側的坐標軸,我們看看效果。

sinplot()sns.despine()

despine()移除坐標軸

這裡默認移除了上部和右側的軸,當然我們也可以移除其他軸,只要將表示四個邊的參數值改為true即可,下面是個這個函數的參數seaborn.despine(fig=None, ax=None, top=True, right=True, left=False, bottom=False, offset=None, trim=False),其中offset表示偏離左側軸的距離。

sns.set(style='ticks')sinplot()sns.despine(offset=50)

offset=50

使用with打開某種風格

在matplotlib中我們已經學過了,在一個figure對象中,我們可以添加多個子圖,那麼如果不同的子圖使用不同的風格,我們該如何做呢?很簡單,使用with 打開某種風格,然後在with下畫的圖都使用with打開的分格,我們來看看代碼。

with sns.axes_style("darkgrid"):plt.subplot(211)sinplot(4)plt.subplot(212)sinplot(-4)

使用with使每個子圖使用不同的風格

seaborn.set_context()

seaborn.set_context(context=None, font_scale=1, rc=None)這個函數也是來設置繪圖背景參數的,它主要來影響標籤、線條和其他元素的效果,但不會影響整體的風格,跟style有點區別。這個函數默認使用notebook,其他context可選值有:paper, talk, poster。下面我們看看具體的效果。

sns.set_context("paper")plt.figure(figsize=(8, 6))sinplot()

context=paper

sns.set_context("talk")plt.figure(figsize=(8, 6))sinplot()

context=talk

sns.set_context("poster")plt.figure(figsize=(8, 6))sinplot()

context=poster

sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5})

sinplot()

context=notebook

好了,對於seaborn庫的風格設置,就到此為止,在後面的文章中也會用到這些風格,這裡大家對風格設置的幾個常用函數有個大致了解就可以了。喜歡的小夥伴點個關注,後面會持續更新!

相關焦點

  • python繪圖之美:seaborn統計數據可視化
    Seaborn旨在使可視化成為探索和理解數據的核心部分。它的面向數據集的繪圖函數對包含整個數據集的數據流和數組進行操作,並在內部執行必要的語義映射和統計聚合以生成信息圖。在seaborn中有幾種專門的繪圖類型,它們都經過了優化,用於可視化這類數據。
  • Python數據可視化—Seaborn
    今天為大家分享的小技巧是python的可視化畫圖庫Seaborn。相信很多小俠客用過matplotlib、pyecharts等可視化庫,可是為什麼還要介紹Seaborn呢?因為它修復了上述兩個庫的一些缺點,比如Seaborn提供了大量的高級接口和自定義主題,而matplotlib沒有這些接口使得很難確定哪些設置來自定義圖表。
  • seaborn繪圖風格的設置
    在seaborn中,可以通過不同的函數來修改圖表的樣式1. context主要是影響繪圖元素的樣式,比如文字和點的大小,線條寬度等,但是不會改變整體的繪圖風格。在seaborn中,內置了以下4種context1. notebook2. paper3. talk4. poster通過set_context函數可以設置對應的context, 用法如下>>> sns.set_context('notebook')不設置context的情況下,圖表樣式如下
  • 數據科學 | 可視化神器Seaborn的超全介紹
    作者:Huangwei AI編者按:數據可視化對於數據分析和科研論文的結果分析十分重要。python近年來呈現了許多優秀的可視化庫,最經典的當屬matplotlib。它的面向數據集的繪圖功能對包含整個數據集的數據流和數組進行操作,並在內部執行必要的語義映射和統計聚合以生成信息圖。
  • python數據科學系列:seaborn入門詳細教程
    python數據分析三劍客進行了逐一詳細入門介紹,今天推出系列第4篇教程:seaborn。這是一個基於matplotlib進行高級封裝的可視化庫,相比之下,繪製圖表更為集成化、繪圖風格具有更高的定製性。教程目錄seaborn是python中的一個可視化庫,是對matplotlib進行二次封裝而成,既然是基於matplotlib,所以seaborn的很多圖表接口和參數設置與其很是接近。
  • Python微課 | Seaborn——Python優雅繪圖(上)
    示例1:Anscombe’s quartet數據集學習內容:最簡易的線性回歸,以及子圖設置。這個數據是著名統計學家Anscombe為了說明錯誤地應用線性回歸會產生怎樣荒謬結論的數據集。如此我們便不難理解代碼中的操作。sns.set(style=」ticks」)這行命令用來設置主題,當然可以自己設定,也可以用Seaborn已經配置好的五個默認主題:darkgrid , whitegrid , dark , white ,和 ticks。
  • 長文乾貨|數據可視化必備Python Seaborn綜合指南,一文搞定可視化!
    在本文中,我們將了解什麼是seaborn以及為什麼應該使用它而不是matplotlib。然後我們將使用seaborn在Python中為數據生成各種不同的可視化。目錄什麼是Seaborn?你曾經在R中使用過ggplot2庫嗎?它是任何工具或語言中最好的可視化包之一。Seaborn給了我同樣的感覺。
  • Python Seaborn綜合指南,成為數據可視化專家
    它是任何工具或語言中最好的可視化包之一。Seaborn給了我同樣的感覺。Seaborn是一個構建在matplotlib之上的一個非常完美的Python可視化庫。它使我們能夠創建放大的數據視覺效果。這有助於我們理解數據,通過在可視上下文中顯示數據來發現變量或趨勢之間的任何隱藏相關性,而這些相關性最初可能並不明顯。
  • Python數據可視化-seaborn Iris鳶尾花數據
    p=5261首先介紹一下Iris鳶尾花數據集,內容摘自百度百科:Iris數據集是常用的分類實驗數據集,由Fisher, 1936收集整理。「Iris也稱鳶尾花卉數據集,是一類多重變量分析的數據集。數據集包含150個數據集,分為3類,每類50個數據,每個數據包含4個屬性。
  • 數據挖掘從入門到放棄(五)seaborn 的數據可視化
    「 數據可視化可以讓我們很直觀的發現數據中隱藏的規律,察覺到變量之間的互動關係,幫助我們更好地解釋現象和發現數據價值,做到一圖勝千文的說明效果。http://seaborn.pydata.org/index.html」python數據分析的可視化庫有:matplotlib 是可視化的必備技能庫,比較底層,api很多,學起來不太容易。seaborn 是建構於matplotlib基礎上,能滿足絕大多數可視化需求。
  • 【Python教程】用Python進行數據可視化
    在本文中,我將介紹如何開始使用Python和matplotlib、seaborn兩個庫對數據進行可視化。數據工人努力收集數據並完成分析數學家和統計學家理解可視化設計原則,並用這些原則完成數據交流設計師和藝術家和開發者具備可視化轉換的技能業務分析員等找尋行為模式,離群點或突發趨勢整個過程額步驟是:這裡我們會使用下面幾種繪圖工具matplotlib:是一個最基礎的Python可視化庫,作圖風格接近MATLAB,所以稱為matplotlib。
  • 推薦: 一本「高顏值」的Python語言數據可視化圖書
    現在python語言越來越流行,尤其是在機器視覺、機器學習與深度學習等領域。但是數據可視化一直是其短板,特別相比較R語言而言。R語言以ggplot2包及其拓展包人性化的繪圖語法大受用戶的喜愛,特別是生物信息與醫學研究者。
  • Python-seaborn 基礎圖表繪製-柱形圖(數據分享)
    ,這裡我們還是使用Seaborn進行繪製,再通過設置繪圖風格以及必須的美化設置進行定製化操作。這裡用到的繪圖函數為seaborn.histplot() 用於繪製統計直方圖,我們直接給出繪圖代碼,再做部分知識點解釋。
  • 十分鐘掌握Seaborn,進階Python數據可視化分析
    Seaborn 可以實現 Python 環境下的絕大部分探索性分析的任務,圖形化的表達幫助你對數據進行分析,而且對 Python 的其他庫(比如 Numpy/Pandas/Scipy)有很好的支持。那麼現在開始,十分鐘的時間,你就可以了解 Seaborn 中常用圖形的繪製方法,以及進階的可視化分析技巧。
  • Python數據可視化之高速繪圖神器PyQtGraph庫,強烈建議收藏
    01為什麼使用PyQtGraph庫我們知道,在Python中,已經有了很多可供選擇的數據可視化庫。再比如在matplotlib庫基礎上衍生的其它繪圖庫,如seaborn、ggplot、plotnine等等,甚至還有其它的一些庫如底層使用JavaScript 實現的開源可視化庫pyecharts等,這些庫都比較容易使用,幾行代碼就可畫出來漂亮的圖形。
  • 想用Python做數據可視化?先邁過這個「坎」
    用過python的人都會面臨一個問題,尤其是初學者:我應該選哪個來實現數據可視化?其實,在大多數情況下,可視化工具可以在沒有pandas的情況下使用,但pandas+可視化工具的組合很常見,這是一個很好的起始點。 pandas 我通常會用pandas DataFrame開始製作各種繪圖的工作。這樣有一個優勢,就是pandas提供內置的繪圖功能,它是matplotlib之上的一層。
  • Python可視化 | Seaborn經濟學人經典圖表仿製
    主要涉及的知識點如下:Python-seaborn regplot回歸線性擬合圖繪製Python-seaborn 繪製擬合線圖首先,我們預覽下數據(部分):其中Region_new 列則是根據相關要求更改的新列,作圖也是以次數據為基礎的。
  • Seaborn可視化-統計變量間的關係seaborn.relplot
    seaborn是基於matplotlib庫的一個強大的python繪圖擴展庫,它能夠很好的補充matplotlib的不足之處,接下來的一段時間,讓我們一起學習這個強大的繪圖庫吧!
  • 繪圖與可視化(1)
    提供信息的可視化是數據分析的重要任務之一,從本章開始會比較詳細介紹繪圖與可視化有關知識,主要用到的庫有matplotlib、numpy、pandas和
  • Python的數據可視化:對比7種工具包
    Python 的scientific stack(一個介紹Python科學計算包的網站)已經完全成熟,並且有各種各樣用例的庫,包括機器學習(連結:machine learning),數據分析(連結:data analysis)。數據可視化是探索數據和清晰的解釋結果很重要的一部分,但是Python在過去卻相對於其他工具比如R落後一點。