相關(guān)概念
一、用法
比較兩個(gè)定量變量用散點(diǎn)圖
比較定量變量和定性變量用小提琴圖瑞驱,箱線圖
比較兩個(gè)定性變量用簇狀柱形圖(集群條形圖)
二荞雏、定量變量和定性變量
定量變量也就是通常所說(shuō)的連續(xù)量铡溪,如長(zhǎng)度牙寞、重量敲霍、產(chǎn)量背传、人口膘格、速度和溫度等,它們是由測(cè)量或計(jì)數(shù)萝嘁、統(tǒng)計(jì)所得到的量梆掸,這些變量具有數(shù)值特征,稱為定量變量牙言。
定性[變量]又名分類變量 ( categorical variable ): 觀測(cè)的個(gè)體只能歸屬于幾種互不相容類別中的一種時(shí)酸钦,一般是用非數(shù)字來(lái)表達(dá)其類別,這樣的觀測(cè)數(shù)據(jù)稱為定性變量咱枉。定性變量 這些量并非真有數(shù)量上的變化卑硫,而只有性質(zhì)上的差異。這些量還可以分為兩種庞钢,一種是有序變量拔恰,它沒有數(shù)量關(guān)系,只有次序關(guān)系基括,如某種產(chǎn)品分為一等品颜懊、二等品、三等品等风皿,礦石的質(zhì)量分為貧礦和富礦河爹;另一種是名義變量,這種變量既無(wú)等級(jí)關(guān)系桐款,也無(wú)數(shù)量關(guān)系咸这,如天氣(陰、晴)魔眨、性別(男媳维、女)、職業(yè)(工人遏暴、農(nóng)民侄刽、教師、干部)和產(chǎn)品的型號(hào)等朋凉。
三州丹、皮爾遜相關(guān)系數(shù)
皮爾遜相關(guān)系數(shù)( Pearson correlation coefficient),又稱皮爾遜積矩相關(guān)系數(shù)(Pearson product-moment correlation coefficient杂彭,簡(jiǎn)稱 PPMCC或PCCs)墓毒,是用于度量?jī)蓚€(gè)變量X和Y之間的相關(guān)線性相關(guān)),其值介于-1與1之間亲怠,并且只能表示線性關(guān)系所计。
兩個(gè)變量之間的皮爾遜相關(guān)系數(shù)定義為兩個(gè)變量之間的協(xié)方差和標(biāo)準(zhǔn)差的商,
上式定義了總體相關(guān)系數(shù)团秽,常用希臘小寫字母p作為代表符號(hào)主胧。估算樣本的協(xié)方差和標(biāo)準(zhǔn)差钾腺,可得到皮爾遜相關(guān)系數(shù),常用英文小寫字母r表示
等價(jià)于
散點(diǎn)圖
plt.scatter
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None,
cmap=None, norm=None, vmin=None, vmax=None, alpha=None,
linewidths=None, verts=None, edgecolors=None, hold=None,
data=None, **kwargs)
參數(shù)data:dataframe等等所有數(shù)據(jù)集
x:坐標(biāo)軸x的數(shù)據(jù)
y:坐標(biāo)軸y的數(shù)據(jù)
c:顏色讥裤,可以設(shè)置顏色列表
marker:形狀,很多很好玩的姻报,大家可以自己查一下
alpha:marker圖片的透明度0.3就是30%透明度
s:圖片縮放比例
cmap 可以用默認(rèn)顏色庫(kù)出來(lái)漸變色己英,很漂亮
其他參數(shù)參考文檔
來(lái)個(gè)例子:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib
# Fixing random state for reproducibility
np.random.seed(19680801)
x = np.arange(0.0, 50.0, 2.0)
y = x ** 1.3 + np.random.rand(*x.shape) * 30.0
s = 500
plt.scatter(x, y, s, c="g", alpha=0.3, marker=r'$\clubsuit$',
label="Luck")
plt.xlabel("Leprechauns")
plt.ylabel("Gold")
plt.legend(loc=2) #就是那個(gè)小窗體,并且設(shè)置了位置
plt.show()
seaborn.regplot
seaborn.regplot(x, y, data=None, x_estimator=None, x_bins=None,
x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None,
order=1, logistic=False, lowess=False, robust=False, logx=False,
x_partial=None, y_partial=None, truncate=False, dropna=True,
x_jitter=None, y_jitter=None, label=None, color=None, marker='o',
scatter_kws=None, line_kws=None, ax=None)
跟之前一樣吴旋,seaborn的散點(diǎn)圖有高端了一點(diǎn)损肛,包含了可以繪制擬合線和置信區(qū)間等額外功能。
data荣瑟,x治拿,y,marker同plt.scatter一樣笆焰,顏色是color
fit_reg:是否繪制擬合線和執(zhí)行區(qū)間劫谅,注意并非課程中的reg_fit哦。
scatter:是否顯示散點(diǎn)
ci:執(zhí)行區(qū)間大小 [0, 100]
x_jitter, y_jitter 圖片的抖動(dòng)范圍(類似添加了噪聲)嚷掠,不會(huì)影響回歸擬合線
其他參數(shù)參考文檔
matplotlib.pyplot.scatter
seaborn.regplot
熱圖
如果散點(diǎn)太離散捏检,或者數(shù)據(jù)點(diǎn)的數(shù)據(jù)量太密集,透明度已經(jīng)不足以使用的情況下不皆,可以用熱圖贯城。
熱圖
matplotlib.pyplot.hist2d
matplotlib.pyplot.hist2d(x, y, bins=10, range=None, normed=False, weights=None, cmin=None, cmax=None, hold=None, data=None, **kwargs)
整體用法跟hist很像啊,只是它是熱圖霹娄。
重點(diǎn)控制x能犯,y, bins(設(shè)置方式也跟hist一致,只是是二維犬耻,因?yàn)橐O(shè)置x和y的bins)
cmin:設(shè)置多少count以下記為空踩晶,那么就不會(huì)被填充顏色
同樣cmax就是大于多少就會(huì)被記為空,不填充顏色
其他參數(shù)參考文檔
matplotlib.pyplot.colorbar
matplotlib.pyplot.colorbar(mappable=None, cax=None, ax=None, **kw)
只對(duì)當(dāng)前圖表生效香追,所以要想多個(gè)生效就得每個(gè)圖表下跟一個(gè)
參數(shù)不太用的合瓢,有興趣可以看下
一個(gè)圖例代碼:
cm = plt.cm.get_cmap('RdYlBu')
xy = range(20)
z = xy
sc = plt.scatter(xy, xy, c=z, vmin=0, vmax=20, s=35, cmap=cm)
plt.colorbar()
plt.show()
看例子能看懂的對(duì)不對(duì),我們要先得到顏色映射表透典,然后將顏色映射表賦值給圖表中的cmap參數(shù)晴楔,最后調(diào)用colorbar,調(diào)用colorbar只是顯示出旁邊的小窗體峭咒,某某顏色是指哪個(gè)范圍税弃。
其中g(shù)et_cmap中取值可為:Possible values are: Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r...其中末尾加r是顏色取反。
既然扯到顏色凑队,就多提一句:
Seaborn 還增加了以下多個(gè)調(diào)色板:
定性(全部多達(dá) 6 種顏色):'deep’则果、’pastel’幔翰、’dark’、’muted’西壮、’bright’遗增、’colorblind'
有序:’rocket' (white-orange-red-purple-black)、’mako' (mint-green-blue-purple-black)
發(fā)散:’vlag' (blue-white-red)款青、’icefire' (blue-black-orange)
可以使用seaborn.palplot和seaborn.color_palette來(lái)顯示一下seaborn圖標(biāo)的顏色
seaborn.palplot:將顏色調(diào)色板中的值繪制為水平數(shù)組
seaborn.color_palette:返回一個(gè)列表做修,表示顏色調(diào)色板
比如sb.palplot(sb.color_palette('viridis', 9))
使用在圖表中的話只要c=sb.color_palette('Blues')[2]類似這種就可以了
matplotlib.pyplot.hist2d
matplotlib.pyplot.colorbar
顏色列表
seaborn.heatmap
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None,
center=None, robust=False, annot=None, fmt='.2g', annot_kws=None,
linewidths=0, linecolor='white', cbar=True, cbar_kws=None,
cbar_ax=None, square=False, xticklabels='auto', yticklabels='auto',
mask=None, ax=None, **kwargs)
annot = True 顯示統(tǒng)計(jì)標(biāo)號(hào)
fmt 標(biāo)號(hào)格式,比如"d"就是整數(shù)的形式
data:dataframe
vmin, vmax:界限抡草,決定不被標(biāo)注顏色的部分
cmap:老樣子饰及,選顏色映射表
centor:改變顏色映射的趨勢(shì)
linewidths linecolor :格子的分割線的顏色和寬度
還有很多參數(shù),請(qǐng)查看api文檔
箱線圖
箱形圖于1977年由美國(guó)著名統(tǒng)計(jì)學(xué)家約翰·圖基(John Tukey)發(fā)明康震。它能顯示出一組數(shù)據(jù)的最大值燎含、最小值、中位數(shù)腿短、及上下四分位數(shù)屏箍,還有異常值。
箱線圖是側(cè)重于數(shù)據(jù)的摘要橘忱,主要報(bào)告每個(gè)分類級(jí)別數(shù)字值的一組描述統(tǒng)計(jì)學(xué)信息铣除。
在箱線圖中,方框的中間線條表示分布的中值鹦付,方框的頂部和底部分別表示數(shù)據(jù)的第三四分位數(shù)和第一四分位數(shù)尚粘。因此,方框的高度是四分位差 (IQR)敲长。從方框的頂部和底部郎嫁,須線表示從第一四分位數(shù)或第三四分位數(shù)到最低值或最大值的范圍。通常祈噪,須線長(zhǎng)度會(huì)設(shè)置最大范圍泽铛;默認(rèn)情況下,設(shè)為 1.5 乘以 IQR辑鲤。對(duì)于 γ 級(jí)別盔腔,底部須線下方有數(shù)據(jù),表示在第一四分位數(shù)下方有大于 1.5x IQR 的單個(gè)離群值(異常值)月褥。
seaborn.boxplot(x=None, y=None, hue=None,
data=None, order=None, hue_order=None,
orient=None, color=None, palette=None,
saturation=0.75, width=0.8, dodge=True,
fliersize=5, linewidth=None, whis=1.5,
notch=False, ax=None, **kwargs)
x y hue是選定的數(shù)據(jù)列弛随,x一般是定性變量,y一般是定量變量宁赤,hue一般是另外一個(gè)分割x的定性變量
比如舀透,什么學(xué)歷x大概賺多少錢y,那么想觀察什么學(xué)歷下决左,性別分類大概賺多少錢愕够,Hue就是性別(是不是有點(diǎn)groupby的意思呀)走贪,當(dāng)然,xy可以顛倒惑芭,那么圖像就是橫著的坠狡。
data老樣子是dataframe
color是設(shè)置所有圖案的顏色
palette是seaborn.color_palette得來(lái)的,有很多特定字符串遂跟,有興趣可以查api哈擦秽,常用的“muted”,有點(diǎn)類似之前看到的map那個(gè)配色的方法漩勤。
linewidth:線的寬度
orient:也可以直接調(diào)整繪圖方向。"h"和“v”
dodge:默認(rèn)是True缩搅,設(shè)置為False的話越败,hue的圖形就不會(huì)調(diào)整順序和寬度跑到對(duì)比格子旁邊去了。
order, hue_order 是決定小提琴圖的輸出順序硼瓣,一般是以一個(gè)列表作為排序
其余參數(shù)看文檔測(cè)試學(xué)習(xí)
集群圖
seaborn.swarmplot(x=None, y=None, hue=None,
data=None, order=None, hue_order=None,
dodge=False, orient=None, color=None,
palette=None, size=5, edgecolor='gray',
linewidth=0, ax=None, **kwargs)
可以用這個(gè)方法來(lái)顯示所有數(shù)據(jù)點(diǎn)究飞。
舉個(gè)例子
>>> ax = sns.boxplot(x="day", y="total_bill", data=tips)
>>> ax = sns.swarmplot(x="day", y="total_bill", data=tips, color=".25")
seaborn.swarmplot
小提琴圖
【小提琴圖】其實(shí)是【箱線圖】與【核密度圖】的結(jié)合,【箱線圖】展示了分位數(shù)的位置堂鲤,【小提琴圖】則展示了任意位置的密度亿傅,通過(guò)【小提琴圖】可以知道哪些位置的密度較高。
seaborn.violinplot(x=None, y=None, hue=None, data=None, order=None,
hue_order=None, bw='scott', cut=2, scale='area', scale_hue=True,
gridsize=100, width=0.8, inner='box', split=False, dodge=True,
orient=None, linewidth=None, color=None, palette=None,
saturation=0.75, ax=None, **kwargs)
x y hue是選定的數(shù)據(jù)列瘟栖,x一般是定性變量葵擎,y一般是定量變量,hue一般是另外一個(gè)分割x的定性變量
比如半哟,什么學(xué)歷x大概賺多少錢y酬滤,那么想觀察什么學(xué)歷下,性別分類大概賺多少錢寓涨,Hue就是性別(是不是有點(diǎn)groupby的意思呀)盯串,當(dāng)然,xy可以顛倒戒良,那么圖像就是橫著的体捏。
data老樣子是dataframe
color是設(shè)置所有圖案的顏色
palette是seaborn.color_palette得來(lái)的,有很多特定字符串糯崎,有興趣可以查api哈几缭,常用的“muted”,有點(diǎn)類似之前看到的map那個(gè)配色的方法沃呢。
split如果設(shè)定為True奏司,hue對(duì)比的那兩個(gè)小提琴圖就會(huì)合并成一個(gè)小提琴圖,好做對(duì)比
order, hue_order 是決定小提琴圖的輸出順序樟插,一般是以一個(gè)列表作為排序
inner有以下幾種選擇 {“box”, “quartile”, “point”, “stick”, None}
小提琴內(nèi)部數(shù)據(jù)點(diǎn)的表示韵洋。 如果是box竿刁,會(huì)畫一個(gè)小型長(zhǎng)方形。 如果quartile四分位數(shù)搪缨,繪制分布的四分位數(shù)食拜。 如果point或stick,顯示每個(gè)基礎(chǔ)數(shù)據(jù)點(diǎn)副编。
剩下參數(shù)负甸,不太講了,大家可以自行看api文檔測(cè)試學(xué)習(xí)哈痹届。
分面
分面:把數(shù)據(jù)分成多個(gè)子集并用同一個(gè)圖表分別繪制的技術(shù)
1呻待、class seaborn.FacetGrid
class seaborn.FacetGrid(data, row=None,
col=None, hue=None, col_wrap=None,
sharex=True, sharey=True, size=3, aspect=1,
palette=None, row_order=None, col_order=None,
hue_order=None, hue_kws=None, dropna=True,
legend_out=True, despine=True,
margin_titles=False, xlim=None, ylim=None,
subplot_kws=None, gridspec_kws=None)
他是一個(gè)類,你創(chuàng)建facetgrid的時(shí)候队腐,會(huì)初始化一個(gè)matplotlib對(duì)象和一個(gè)facetgrid對(duì)象蚕捉。
而這個(gè)facetgrid對(duì)象,建立一個(gè)特殊的鏈接柴淘,連接了dataframe和matplotlib迫淹。你就當(dāng)打了個(gè)組合拳吧。
創(chuàng)建分面數(shù)據(jù)有兩個(gè)步驟
1为严、需要?jiǎng)?chuàng)建一個(gè) FacetGrid 對(duì)象的實(shí)例敛熬,并指定要分面的特征
g = sns.FacetGrid()
2、對(duì) FacetGrid 對(duì)象使用 map 方法第股,指定在每個(gè)子集中要繪制的圖形類型和變量
g.map()
那么對(duì)應(yīng)上面步驟的詳細(xì)描述呢:
1应民、創(chuàng)建FacetGrid 常用參數(shù)的解釋如下:
data:往常一樣,dataframe
row, col, hue : 不是會(huì)建立幾個(gè)小圖表嗎夕吻,row就是行拆分是拆分了什么分類瑞妇,col就是列拆分拆分了什么,hue就是一個(gè)表內(nèi)部的分類(常用不同顏色區(qū)分不同分類)
col_wrap:在每行的分類下梭冠,來(lái)決定一列放幾個(gè)
size辕狰,aspect,又看到這兩了控漠,還是同樣蔓倍,每個(gè)子圖表高度和寬高比,
col盐捷,row偶翅,hue_order 決定了圖表輸出中列,行碉渡,hue的順序聚谁,所以一般是列表形式
palette:老樣子,不想再解釋了
其他還有很多啊滞诺,去api測(cè)試了解
2形导、使用g.map()方法
第一個(gè)參數(shù)就是plt下的圖表方法环疼,hist啊,scatter啊朵耕,plot啊等等等等炫隶,從第二個(gè)參數(shù)開始就是跟前面那個(gè)圖表方法后面跟的參數(shù)規(guī)范一樣了,比如以scatter為例阎曹,x,y是必需參數(shù)伪阶,那么第二個(gè)參數(shù)就是我們需要傳進(jìn)去的x的列的名字(定量數(shù)據(jù)),注意不需要寫x=什么什么处嫌,直接寫字符串栅贴,描述列名的那個(gè)(因?yàn)槭潜仨殔?shù)),第三個(gè)就是我們需要傳入的y熏迹,同樣檐薯,也是一樣,字符串癣缅,不用寫y=什么
其他參數(shù)就是plt圖表方法的參數(shù)內(nèi)容了,都是可選了哄酝,那就需要***=***了友存。
如果描述的話,g.map就有點(diǎn)像實(shí)現(xiàn)了一個(gè)callback的映射函數(shù)陶衅。
當(dāng)然屡立,既然作為callback,那就不可能緊緊映射官方函數(shù)了搀军,也可以自己寫函數(shù)作為map第一個(gè)函數(shù)來(lái)進(jìn)行調(diào)用膨俐。
選做3,可以調(diào)用add_legend罩句,來(lái)標(biāo)識(shí)每條曲線或顏色與那個(gè)級(jí)別相關(guān)焚刺。當(dāng)然還有很多其他FacetGrid的方法,可以查閱官方文檔來(lái)學(xué)習(xí)门烂。
舉個(gè)例子吧:
>>> import seaborn as sns; sns.set(style="ticks", color_codes=True)
>>> tips = sns.load_dataset("tips")
>>> g = sns.FacetGrid(tips, col="time", row="smoker")
>>> import matplotlib.pyplot as plt
>>> g = sns.FacetGrid(tips, col="time", row="smoker")
>>> g = g.map(plt.hist, "total_bill")
2乳愉、seaborn.factorplot
它是seaborn下的一個(gè)方法,有點(diǎn)類似FacetGrid屯远,它合并了FacetGrid和定性-定量的圖表(柱狀蔓姚,小提琴,箱線等)慨丐,使用上坡脐,比FacetGrid方便點(diǎn)。
seaborn.factorplot(x=None, y=None, hue=None,
data=None, row=None, col=None,
col_wrap=None, estimator=<function mean>,
ci=95, n_boot=1000, units=None, order=None,
hue_order=None, row_order=None,
col_order=None, kind='point', size=4, aspect=1,
orient=None, color=None, palette=None,
legend=True, legend_out=True, sharex=True,
sharey=True, margin_titles=False,
facet_kws=None, **kwargs)
基于FacetGrid的房揭,一種非常好用的能添加多分類的方法备闲。
除了x晌端,y,hue浅役,這三個(gè)是每個(gè)表中都有的斩松,另外會(huì)通過(guò)col,row來(lái)繪制第三或第四個(gè)分類(假設(shè)x和hue是前兩種分類)。
kind:{point, bar, count, box, violin, strip}
能畫點(diǎn)圖觉既。
size:決定高度惧盹,inch單位。
aspect 決定縱橫比(其實(shí)就是跟size相乘決定寬度)瞪讼。
order钧椰,color,orient符欠,palette嫡霞,dodge都跟上面實(shí)現(xiàn)的功能一致。
其余參數(shù)不講了希柿,自行學(xué)習(xí)诊沪。
舉個(gè)例子
>>> g = sns.factorplot(x="sex", y="total_bill",
... hue="smoker", col="time",
... data=tips, kind="box",
... size=4, aspect=.7);
3、seaborn.lmplot
seaborn.lmplot(x, y, data, hue=None, col=None,
row=None, palette=None, col_wrap=None, size=5,
aspect=1, markers='o', sharex=True, sharey=True,
hue_order=None, col_order=None,
row_order=None, legend=True, legend_out=True,
x_estimator=None, x_bins=None, x_ci='ci',
scatter=True, fit_reg=True, ci=95, n_boot=1000,
units=None, order=1, logistic=False,
lowess=False, robust=False, logx=False,
x_partial=None, y_partial=None, truncate=False,
x_jitter=None, y_jitter=None, scatter_kws=None,
line_kws=None)
跟上面的factorplot很相似曾撤,不過(guò)組合的是FacetGrid和 seaborn.regplot散點(diǎn)圖(定量-定量)端姚。
參數(shù)都差不太多就不詳細(xì)講了,想研究就看文檔吧
>>> import seaborn as sns; sns.set(color_codes=True)
>>> tips = sns.load_dataset("tips")
>>> g = sns.lmplot(x="total_bill", y="tip", col="smoker", data=tips)
帶誤差線的各種圖
長(zhǎng)條高度表示數(shù)字變量的均值挤悉,并繪制誤差條渐裸,表示基于方差和樣本大小的均值不確定性,又稱潛在誤差量装悲。
簡(jiǎn)單的說(shuō)昏鹃,代表各組件數(shù)據(jù)的整齊度,也就是個(gè)體差異度诀诊,如果誤差線很長(zhǎng)洞渤,有的夸張的快趕上下面的柱子了,那說(shuō)明一是數(shù)據(jù)量小属瓣,沒幾個(gè)樣本您宪,而是個(gè)體差異度大。
1奠涌、seaborn.barplot
seaborn.barplot(x=None, y=None, hue=None, data=None, order=None,
hue_order=None, estimator=<function mean>, ci=95, n_boot=1000,
units=None, orient=None, color=None, palette=None, saturation=0.75,
errcolor='.26', errwidth=None, capsize=None, dodge=True, ax=None,
**kwargs)
將點(diǎn)估計(jì)和置信區(qū)間顯示為柱形宪巨。
參數(shù)中有很多我們講過(guò)的
x=None, y=None, hue=None, data=None, order=None,
hue_order=None,orient=None, color=None, palette=None, saturation=0.75,dodge=True這些都講過(guò)了溜畅,參數(shù)功能不再贅述
講點(diǎn)沒講過(guò)的
ci: float 或者 “sd” or None捏卓,float就是設(shè)定置信區(qū)間,sd就是描繪標(biāo)準(zhǔn)誤差,如果為none就不會(huì)繪制誤差線
capsize:誤差線上的橫線的寬度
errcolor :誤差線顏色
errwidth:誤差線寬度
estimator:估計(jì)誤差的方法怠晴,默認(rèn)是平均數(shù)+方差遥金,也可以設(shè)置為中位數(shù)+方差
其他不講了。
2蒜田、 seaborn.pointplot
使用散點(diǎn)圖顯示點(diǎn)估計(jì)和置信區(qū)間稿械,跟上面相比是將平均值繪制為點(diǎn),而不是長(zhǎng)條冲粤。
seaborn.pointplot擅長(zhǎng)總結(jié)定量變量和定性變量之間的關(guān)系美莫。
seaborn.pointplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=<function mean>, ci=95, n_boot=1000, units=None, markers='o', linestyles='-', dodge=False, join=True, scale=1, orient=None, color=None, palette=None, errwidth=None, capsize=None, ax=None, **kwargs)
跟上面的參數(shù)差不多,特別講幾個(gè):
join:如果設(shè)為True梯捕,就會(huì)畫那個(gè)點(diǎn)和點(diǎn)之間的估計(jì)線厢呵,設(shè)為False就不畫
linestyles:設(shè)置線的格式,可以設(shè)置為虛線等等"- -",當(dāng)然設(shè)置為" "空格的話就是沒有線傀顾。
其他沒啥了襟铭。
seaborn.pointplot
一些誤差線的知識(shí)點(diǎn)
一些誤差線的知識(shí)點(diǎn)
一些誤差線的知識(shí)點(diǎn)
折線圖
折線圖用于描繪一個(gè)數(shù)字變量相對(duì)于第二個(gè)變量的值的變化趨勢(shì)。在散點(diǎn)圖中短曾,所有數(shù)據(jù)點(diǎn)都會(huì)繪制出來(lái)寒砖,而在折線圖中,每個(gè)唯一 x 值或 x 值的分箱僅繪制一個(gè)點(diǎn)(就像柱狀圖一樣)嫉拐。如果 x 分箱中有多個(gè)觀測(cè)值哩都,那么該點(diǎn)在折線圖中繪制的 y 值將為該數(shù)據(jù)點(diǎn)在分箱中的摘要統(tǒng)計(jì)值(例如均值或中值)。繪制的點(diǎn)用線條連接起來(lái)椭岩,表示 x 值的序列或相連特性茅逮。
它跟柱狀圖相比主要關(guān)注兩點(diǎn)
1璃赡、對(duì)相對(duì)變化更感興趣判哥,折線圖的y軸不一定從0開始
2、折線圖強(qiáng)調(diào)了x軸各值的聯(lián)系
如果x 變量表示時(shí)間碉考,則數(shù)據(jù)折線圖通常稱之為時(shí)間序列圖塌计,我們使用seaborn.tsplot可以表示時(shí)間序列數(shù)據(jù)
也可使用matplotlib.pyplot.errorbar來(lái)做折線圖。
seaborn.tsplot
seaborn.tsplot(data, time=None, unit=None,
condition=None, value=None, err_style='ci_band',
ci=68, interpolate=True, color=None, estimator=
<function mean>, n_boot=5000, err_palette=None,
err_kws=None, legend=True, ax=None, **kwargs)
參數(shù)侯谁,常用不再介紹
err_style: {ci_band, ci_bars, boot_traces, boot_kde, unit_traces, unit_points}
err的圖樣锌仅,默認(rèn)就是一個(gè)曲線,常用還有ci_bars表示誤差線
ci: float or list of floats in [0, 100] or “sd” or None
跟上面的誤差線很像墙贱,要么表示置信區(qū)間热芹,要么表示標(biāo)準(zhǔn)差,None就是沒有誤差線
interpolate :True或者False
表示兩點(diǎn)間是否畫上插值的線
condition :大概就是說(shuō)會(huì)根據(jù)不同條件來(lái)繪制不同的折線惨撇,具體可以測(cè)試看看
其他參數(shù)不講了伊脓。
matplotlib.pyplot.errorbar
將y與x繪制成帶有誤差線的折線。
matplotlib.pyplot.errorbar(x, y, yerr=None, xerr=None, fmt='', ecolor=None, elinewidth=None, capsize=None, barsabove=False, lolims=False, uplims=False, xlolims=False, xuplims=False, errorevery=1, capthick=None, hold=None, data=None, **kwargs)
x, y定義數(shù)據(jù)位置
xerr, yerr定義了errorbar的size大小
fmt
uplims魁衙,lolims报腔,xuplims株搔,xlolims,決定了y軸方向上的誤差線范圍纯蛾,和x軸上的誤差線范圍
可以直接設(shè)定為True徹底限死纤房,也可以像xerr yerr那樣設(shè)定大小
errorbar
pandas.DataFrame.rolling
pandas.cut
pandas.DataFrame.sort_values
jointGrid類
*class *`seaborn.``JointGrid`(*x*, *y*, *data=None*, *size=6*, *ratio=5*, *space=0.2*, *dropna=True*, *xlim=None*, *ylim=None*)[?](https://seaborn.pydata.org/generated/seaborn.JointGrid.html#seaborn.JointGrid "Permalink to this definition")
用邊緣單變量圖繪制二元圖的網(wǎng)格。
具體的參數(shù)翻诉,和類方法不詳細(xì)講了炮姨。
大概步驟如下:
第一步:
生成一個(gè)jointGrid對(duì)象g = sns.JointGrid()
第二步:
在生成的對(duì)象上添加一個(gè)圖標(biāo)類型
可以用g.plot_joint()設(shè)置主圖是什么
可以用g = g.plot()直接設(shè)置主圖和軸圖的不同圖表
也可以使用g = g.plot_marginals()方法來(lái)組合圖表,課程中就是組合seaborn.rugplot軸須圖來(lái)畫圖表的米丘。
舉例:
>>> import seaborn as sns; sns.set(style="ticks", color_codes=True)
>>> tips = sns.load_dataset("tips")
>>> g = sns.JointGrid(x="total_bill", y="tip", data=tips)
>>> g = g.plot(sns.regplot, sns.distplot)