亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

數(shù)據(jù)可視化Seaborn從零開始學(xué)習(xí)教程(一) 風(fēng)格選擇

testbird / 3530人閱讀

摘要:簡(jiǎn)介同一樣,也是進(jìn)行數(shù)據(jù)可視化分析的重要第三方包。的五種繪圖風(fēng)格有五種的風(fēng)格,它們分別是。

作者:xiaoyu
微信公眾號(hào):Python數(shù)據(jù)科學(xué)
知乎:python數(shù)據(jù)分析師


最近在做幾個(gè)項(xiàng)目的數(shù)據(jù)分析,每次用到seaborn進(jìn)行可視化繪圖的時(shí)候總是忘記具體操作。雖然seaborn的官方網(wǎng)站已經(jīng)詳細(xì)的介紹了使用方法,但是畢竟是英文,而且查找不是很方便。因此博主想從零開始將seaborn學(xué)習(xí)一遍,做一個(gè)總結(jié),也希望供大家使用參考。
Seaborn簡(jiǎn)介

seabornmatplotlib一樣,也是Python進(jìn)行數(shù)據(jù)可視化分析的重要第三方包。但seaborn是在 matplotlib的基礎(chǔ)上進(jìn)行了更高級(jí)的API封裝,使得作圖更加容易,圖形更加漂亮。

博主并不認(rèn)為seaborn可以替代matplotlib。雖然seaborn可以滿足大部分情況下的數(shù)據(jù)分析需求,但是針對(duì)一些特殊情況,還是需要用到matplotlib的。換句話說,matplotlib更加靈活,可定制化,而seaborn像是更高級(jí)的封裝,使用方便快捷。

應(yīng)該把seaborn視為matplotlib的補(bǔ)充,而不是替代物。

Seaborn學(xué)習(xí)內(nèi)容

seaborn的學(xué)習(xí)內(nèi)容主要包含以下幾個(gè)部分:

風(fēng)格管理

繪圖風(fēng)格設(shè)置

顏色風(fēng)格設(shè)置

繪圖方法

數(shù)據(jù)集的分布可視化

分類數(shù)據(jù)可視化

線性關(guān)系可視化

結(jié)構(gòu)網(wǎng)格

數(shù)據(jù)識(shí)別網(wǎng)格繪圖

本次將主要介紹風(fēng)格管理的使用。

風(fēng)格管理 - 繪圖風(fēng)格設(shè)置

除了各種繪圖方式外,圖形的美觀程度可能是我們最關(guān)心的了。將它放到第一部分,因?yàn)轱L(fēng)格設(shè)置是一些通用性的操作,對(duì)于各種繪圖方法都適用。

讓我們先看一個(gè)例子。

%matplotlib inline
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
np.random.seed(sum(map(ord, "aesthetics")))

我們定義了一個(gè)簡(jiǎn)單的方程來繪制一些偏置的正弦波,用來幫助我們查看不同的圖畫風(fēng)格是什么樣子的。

def sinplot(flip=1):
    x = np.linspace(0, 14, 100)
    for i in range(1, 7):
        plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)

matplotlib默認(rèn)參數(shù)下繪制結(jié)果是這樣的:

sinplot()

轉(zhuǎn)換為seaborn默認(rèn)繪圖,可以簡(jiǎn)單的用set()方法。

sns.set()
sinplot()

Seabornmatplotlib 的參數(shù)劃分為兩個(gè)獨(dú)立的組合。第一組是設(shè)置繪圖的外觀風(fēng)格的,第二組主要將繪圖的各種元素按比例縮放的,以至可以嵌入到不同的背景環(huán)境中。

操控這些參數(shù)的接口主要有兩對(duì)方法:

控制風(fēng)格:axes_style(), set_style()

縮放繪圖:plotting_context(), set_context()

每對(duì)方法中的第一個(gè)方法(axes_style(), plotting_context())會(huì)返回一組字典參數(shù),而第二個(gè)方法(set_style(), set_context())會(huì)設(shè)置matplotlib的默認(rèn)參數(shù)。

Seaborn的五種繪圖風(fēng)格

有五種seaborn的風(fēng)格,它們分別是:darkgrid, whitegrid, dark, white, ticks。它們各自適合不同的應(yīng)用和個(gè)人喜好。默認(rèn)的主題是darkgrid。

sns.set_style("whitegrid")
data = np.random.normal(size=(20, 6)) + np.arange(6) / 2
sns.boxplot(data=data);

sns.set_style("dark")
sinplot()

sns.set_style("white")
sinplot()

sns.set_style("ticks")
sinplot()

移除軸脊柱

whiteticks兩個(gè)風(fēng)格都能夠移除頂部和右側(cè)的不必要的軸脊柱。通過matplotlib參數(shù)是做不到這一點(diǎn)的,但是你可以使用seaborndespine()方法來移除它們:

sinplot()
sns.despine()

一些繪圖也可以針對(duì)數(shù)據(jù)將軸脊柱進(jìn)行偏置,當(dāng)然也是通過調(diào)用despine()方法來完成。而當(dāng)刻度沒有完全覆蓋整個(gè)軸的范圍時(shí),trim參數(shù)可以用來限制已有脊柱的范圍。

f, ax = plt.subplots()
sns.violinplot(data=data)
sns.despine(offset=10, trim=True);

你也可以通過despine()控制哪個(gè)脊柱將被移除。

sns.set_style("whitegrid")
sns.boxplot(data=data, palette="deep")
sns.despine(left=True)

臨時(shí)設(shè)置繪圖風(fēng)格

雖然來回切換風(fēng)格很容易,但是你也可以在一個(gè)with語句中使用axes_style()方法來臨時(shí)的設(shè)置繪圖參數(shù)。這也允許你用不同風(fēng)格的軸來繪圖:

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

覆蓋seaborn風(fēng)格元素

如果你想定制化seaborn風(fēng)格,你可以將一個(gè)字典參數(shù)傳遞給axes_style()set_style()的參數(shù)rc。而且你只能通過這個(gè)方法來覆蓋風(fēng)格定義中的部分參數(shù)。

如果你想要看看這些參數(shù)都是些什么,可以調(diào)用這個(gè)方法,且無參數(shù),這將會(huì)返回下面的設(shè)置:

sns.axes_style()
{"axes.axisbelow": True,
 "axes.edgecolor": ".8",
 "axes.facecolor": "white",
 "axes.grid": True,
 "axes.labelcolor": ".15",
 "axes.linewidth": 1.0,
 "figure.facecolor": "white",
 "font.family": [u"sans-serif"],
 "font.sans-serif": [u"Arial",
  u"DejaVu Sans",
  u"Liberation Sans",
  u"Bitstream Vera Sans",
  u"sans-serif"],
 "grid.color": ".8",
 "grid.linestyle": u"-",
 "image.cmap": u"rocket",
 "legend.frameon": False,
 "legend.numpoints": 1,
 "legend.scatterpoints": 1,
 "lines.solid_capstyle": u"round",
 "text.color": ".15",
 "xtick.color": ".15",
 "xtick.direction": u"out",
 "xtick.major.size": 0.0,
 "xtick.minor.size": 0.0,
 "ytick.color": ".15",
 "ytick.direction": u"out",
 "ytick.major.size": 0.0,
 "ytick.minor.size": 0.0}

然后,你可以設(shè)置這些參數(shù)的不同版本了。

sns.set_style("darkgrid", {"axes.facecolor": ".9"})
sinplot()

繪圖元素比例

有一套的參數(shù)可以控制繪圖元素的比例。
首先,讓我們通過set()重置默認(rèn)的參數(shù):

sns.set()

有四個(gè)預(yù)置的環(huán)境,按大小從小到大排列分別為:paper, notebook, talk, poster。其中,notebook是默認(rèn)的。

sns.set_context("paper")
sinplot()

sns.set_context("talk")
sinplot()

sns.set_context("poster")
sinplot()

你可以通過使用這些名字中的一個(gè)調(diào)用set_context()來設(shè)置參數(shù),并且你可以通過提供一個(gè)字典參數(shù)值來覆蓋參數(shù)。當(dāng)改變環(huán)境時(shí),你也可以獨(dú)立的去縮放字體元素的大小。

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

同樣的,你可以通過嵌入with語句臨時(shí)的控制繪圖的比例。

總結(jié)

介紹了Seaborn的5中繪圖風(fēng)格

移除軸脊柱

臨時(shí)設(shè)置繪圖風(fēng)格

覆蓋Seaborn風(fēng)格元素

繪圖元素比例縮放

下一節(jié)將會(huì)介紹顏色風(fēng)格的使用。


關(guān)注微信公眾號(hào)Python數(shù)據(jù)科學(xué),獲取 120G 人工智能 學(xué)習(xí)資料。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/41746.html

相關(guān)文章

  • 數(shù)據(jù)視化Seaborn從零開始學(xué)習(xí)教程(二) 顏色調(diào)控篇

    摘要:使用分類調(diào)色板另外一種對(duì)分類數(shù)據(jù)比較友好的調(diào)色板來自工具。它們是以在調(diào)色板中的主導(dǎo)顏色或顏色命名的。連續(xù)調(diào)色板調(diào)色板系統(tǒng)在亮度和色變變化上具有線性上升或下降的特點(diǎn)。離散色板調(diào)色板中的第三類被稱為離散。 作者:xiaoyu微信公眾號(hào):Python數(shù)據(jù)科學(xué)知乎:python數(shù)據(jù)分析師 Seaborn學(xué)習(xí)大綱 seaborn的學(xué)習(xí)內(nèi)容主要包含以下幾個(gè)部分: 風(fēng)格管理 繪圖風(fēng)格設(shè)置 顏...

    李義 評(píng)論0 收藏0
  • 數(shù)據(jù)視化Seaborn從零開始學(xué)習(xí)教程(四) 分類數(shù)據(jù)視化

    摘要:分類數(shù)據(jù)散點(diǎn)圖在分類數(shù)據(jù)的基礎(chǔ)上展示定量數(shù)據(jù)的最簡(jiǎn)單函數(shù)就是。此外,小提琴內(nèi)還顯示了箱體四分位數(shù)和四分位距。該函數(shù)會(huì)用高度估計(jì)值對(duì)數(shù)據(jù)進(jìn)行描述,而不是顯示一個(gè)完整的條形,它只繪制點(diǎn)估計(jì)和置信區(qū)間。 作者:xiaoyu微信公眾號(hào):Python數(shù)據(jù)科學(xué)知乎:python數(shù)據(jù)分析師 Seaborn學(xué)習(xí)大綱 seaborn的學(xué)習(xí)內(nèi)容主要包含以下幾個(gè)部分: 風(fēng)格管理 繪圖風(fēng)格設(shè)置 顏色風(fēng)...

    CodeSheep 評(píng)論0 收藏0
  • 數(shù)據(jù)視化Seaborn從零開始學(xué)習(xí)教程(三) 數(shù)據(jù)分布視化

    摘要:數(shù)據(jù)集分布可視化當(dāng)處理一個(gè)數(shù)據(jù)集的時(shí)候,我們經(jīng)常會(huì)想要先看看特征變量是如何分布的。直方圖在橫坐標(biāo)的數(shù)據(jù)值范圍內(nèi)均等分的形成一定數(shù)量的數(shù)據(jù)段,并在每個(gè)數(shù)據(jù)段內(nèi)用矩形條顯示軸觀察數(shù)量的方式,完成了對(duì)的數(shù)據(jù)分布的可視化展示。 作者:xiaoyu微信公眾號(hào):Python數(shù)據(jù)科學(xué)知乎:python數(shù)據(jù)分析師 Seaborn學(xué)習(xí)大綱 seaborn的學(xué)習(xí)內(nèi)容主要包含以下幾個(gè)部分: 風(fēng)格管理 ...

    Tamic 評(píng)論0 收藏0
  • 【精華分享】:轉(zhuǎn)行數(shù)據(jù)分析的學(xué)習(xí)清單

    摘要:數(shù)據(jù)分析的發(fā)展方向一般有商業(yè)方向,行業(yè)分析業(yè)務(wù)方向,和機(jī)器學(xué)習(xí)數(shù)據(jù)挖掘方向。機(jī)器學(xué)習(xí)的書籍推薦統(tǒng)計(jì)學(xué)習(xí)方法,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)實(shí)戰(zhàn)三本書。 作者:xiaoyu 微信公眾號(hào):Python數(shù)據(jù)科學(xué) 知乎:python數(shù)據(jù)分析師 上一篇主要分享了博主親身轉(zhuǎn)行數(shù)據(jù)分析的經(jīng)歷: 【從零學(xué)起到成功轉(zhuǎn)行數(shù)據(jù)分析,我是怎么做的?】 本篇繼上一篇將分享轉(zhuǎn)行數(shù)據(jù)分析的一些經(jīng)驗(yàn)和學(xué)習(xí)方法,看完這篇你將會(huì)解...

    suemi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<