最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

一文掌握Seaborn的高級技巧

2023-08-05 10:09 作者:Echo_Wish  | 我要投稿

Seaborn是一個用于統(tǒng)計(jì)圖形繪制的Python庫,它基于matplotlib,并且與pandas數(shù)據(jù)結(jié)構(gòu)緊密集成。Seaborn可以幫助你探索和理解你的數(shù)據(jù),它提供了一些高級的繪圖功能,讓你的圖形更加美觀和富有信息。本教程將介紹Seaborn的一些進(jìn)階特性,包括:


分面網(wǎng)格(Facet grids)

回歸圖(Regression plots)

熱力圖(Heatmaps)

聚類圖(Cluster maps)

關(guān)聯(lián)圖(Pair plots)

為了更好地理解這些特性,我們需要先導(dǎo)入Seaborn模塊,并創(chuàng)建一些示例數(shù)據(jù)集:


分面網(wǎng)格

分面網(wǎng)格是一種用于可視化多個變量之間的關(guān)系的方法,它可以將一個大的圖形分割成多個小的子圖,每個子圖展示了不同條件下的數(shù)據(jù)分布。Seaborn提供了以下函數(shù)來創(chuàng)建分面網(wǎng)格:


sns.FacetGrid:創(chuàng)建一個空的分面網(wǎng)格對象,可以指定行、列、色彩等維度來劃分子圖。

sns.relplot:創(chuàng)建一個基于散點(diǎn)圖或折線圖的分面網(wǎng)格,可以指定kind參數(shù)來選擇繪制的類型。

sns.displot:創(chuàng)建一個基于直方圖或密度圖的分面網(wǎng)格,可以指定kind參數(shù)來選擇繪制的類型。

sns.catplot:創(chuàng)建一個基于分類變量的分面網(wǎng)格,可以指定kind參數(shù)來選擇繪制的類型。

例如,我們可以使用以下方式來創(chuàng)建一個基于散點(diǎn)圖的分面網(wǎng)格,展示了小費(fèi)數(shù)據(jù)集中不同時間、性別和是否吸煙的顧客之間的總消費(fèi)和小費(fèi)的關(guān)系:


這里,我們使用了relplot函數(shù),并指定了data參數(shù)為tips數(shù)據(jù)集,x參數(shù)為total_bill變量,y參數(shù)為tip變量,col參數(shù)為time變量,hue參數(shù)為sex變量,style參數(shù)為smoker變量。這樣,我們就得到了一個由兩列組成的分面網(wǎng)格,每列對應(yīng)了time變量的一個水平(Lunch或Dinner),每個子圖中用不同顏色和形狀來區(qū)分sex和smoker變量的水平。我們可以看到,在不同條件下,總消費(fèi)和小費(fèi)之間存在著一定的正相關(guān)關(guān)系,但是也有一些異常值和離群值。



我們也可以使用以下方式來創(chuàng)建一個基于直方圖的分面網(wǎng)格,展示了鳶尾花數(shù)據(jù)集中不同品種和花瓣長度之間的分布情況:


這里,我們使用了displot函數(shù),并指定了data參數(shù)為iris數(shù)據(jù)集,x參數(shù)為petal_length變量,col參數(shù)為species變量,kde參數(shù)為True。這樣,我們就得到了一個由三列組成的分面網(wǎng)格,每列對應(yīng)了species變量的一個水平(setosa, versicolor, virginica),每個子圖中用直方圖和核密度估計(jì)曲線來展示petal_length變量的分布情況。我們可以看到,在不同品種下,花瓣長度呈現(xiàn)出不同的模式,setosa品種的花瓣長度較短,versicolor和virginica品種的花瓣長度較長,且后者的方差較大。



回歸圖

回歸圖是一種用于可視化兩個變量之間的線性關(guān)系的方法,它可以在散點(diǎn)圖的基礎(chǔ)上繪制出最佳擬合的回歸線和置信區(qū)間。Seaborn提供了以下函數(shù)來創(chuàng)建回歸圖:


sns.regplot:創(chuàng)建一個單獨(dú)的回歸圖,可以指定不同的參數(shù)來控制回歸模型的類型、置信區(qū)間的計(jì)算方法、散點(diǎn)圖的樣式等。

sns.lmplot:創(chuàng)建一個基于回歸圖的分面網(wǎng)格,可以指定行、列、色彩等維度來劃分子圖,以及其他與regplot相同的參數(shù)。

例如,我們可以使用以下方式來創(chuàng)建一個單獨(dú)的回歸圖,展示了小費(fèi)數(shù)據(jù)集中總消費(fèi)和小費(fèi)之間的線性關(guān)系,并且使用不同顏色來區(qū)分是否吸煙的顧客:


這里,我們使用了regplot函數(shù),并指定了data參數(shù)為tips數(shù)據(jù)集,x參數(shù)為total_bill變量,y參數(shù)為tip變量,hue參數(shù)為smoker變量。這樣,我們就得到了一個回歸圖,其中用不同顏色的散點(diǎn)和線條來表示smoker變量的兩個水平(Yes或No),并且繪制了95%的置信區(qū)間。我們可以看到,在總消費(fèi)和小費(fèi)之間存在著一定的正相關(guān)關(guān)系,但是吸煙與否對這種關(guān)系沒有顯著的影響。




我們也可以使用以下方式來創(chuàng)建一個基于回歸圖的分面網(wǎng)格,展示了小費(fèi)數(shù)據(jù)集中不同時間和性別下總消費(fèi)和小費(fèi)之間的線性關(guān)系,并且使用不同形狀來區(qū)分是否吸煙的顧客:


這里,我們使用了lmplot函數(shù),并指定了data參數(shù)為tips數(shù)據(jù)集,x參數(shù)為total_bill變量,y參數(shù)為tip變量,col參數(shù)為time變量,row參數(shù)為sex變量,hue參數(shù)為smoker變量,markers參數(shù)為[“o”, “x”]。這樣,我們就得到了一個由兩行兩列組成的分面網(wǎng)格,每行對應(yīng)了sex變量的一個水平(Male或Female),每列對應(yīng)了time變量的一個水平(Lunch或Dinner),每個子圖中用不同顏色和形狀來表示smoker變量的兩個水平(Yes或No),并且繪制了95%的置信區(qū)間。我們可以看到,在不同條件下,總消費(fèi)和小費(fèi)之間存在著一定的正相關(guān)關(guān)系,但是時間、性別和是否吸煙對這種關(guān)系有不同程度的影響。




熱力圖

熱力圖是一種用于可視化二維數(shù)據(jù)表格中數(shù)值大小和顏色深淺之間的關(guān)系的方法,它可以將數(shù)據(jù)表格中每個單元格根據(jù)數(shù)值映射到一個顏色漸變上,并且在圖形上顯示數(shù)值或百分比。Seaborn提供了以下函數(shù)來創(chuàng)建熱力圖:


sns.heatmap:創(chuàng)建一個基于數(shù)據(jù)表格的熱力圖,可以指定不同的參數(shù)來控制顏色映射、數(shù)值顯示、注釋、邊界等。

sns.clustermap:創(chuàng)建一個基于數(shù)據(jù)表格的聚類熱力圖,可以指定不同的參數(shù)來控制聚類方法、顏色映射、數(shù)值顯示、注釋、邊界等。

例如,我們可以使用以下方式來創(chuàng)建一個基于飛行數(shù)據(jù)集的熱力圖,展示了1949年到1960年之間每個月的飛行乘客數(shù):


這里,我們使用了heatmap函數(shù),并指定了data參數(shù)為flights數(shù)據(jù)表格,annot參數(shù)為True,fmt參數(shù)為"d",cmap參數(shù)為"Blues"。這樣,我們就得到了一個熱力圖,其中用不同深淺的藍(lán)色來表示飛行乘客數(shù)的大小,并且在每個單元格上顯示具體的數(shù)值。我們可以看到,在這段時間內(nèi),飛行乘客數(shù)呈現(xiàn)出逐年增長和季節(jié)波動的趨勢,其中7月和8月是最繁忙的月份,而1月和11月是最冷清的月份。



我們也可以使用以下方式來創(chuàng)建一個基于鳶尾花數(shù)據(jù)集的聚類熱力圖,展示了不同品種和花萼長度、花萼寬度、花瓣長度、花瓣寬度之間的相關(guān)性:


這里,我們使用了clustermap函數(shù),并指定了data參數(shù)為iris數(shù)據(jù)集中變量之間的相關(guān)系數(shù),annot參數(shù)為True,cmap參數(shù)為"vlag",center參數(shù)為0。這樣,我們就得到了一個聚類熱力圖,其中用不同深淺的紅色和藍(lán)色來表示相關(guān)系數(shù)的正負(fù)和大小,并且在每個單元格上顯示具體的數(shù)值。我們可以看到,在不同品種下,花萼長度和花萼寬度之間有較強(qiáng)的正相關(guān)性,而花萼長度和花瓣寬度之間有較強(qiáng)的負(fù)相關(guān)性。此外,聚類熱力圖還會根據(jù)相關(guān)性的相似度對行和列進(jìn)行重新排序,使得更相關(guān)或更不相關(guān)的變量靠近對角線。


這就是Seaborn的一些進(jìn)階特性的介紹,希望對你有所幫助。如果你想了解更多關(guān)于Seaborn的內(nèi)容,你可以訪問[官方文檔]或者[教程網(wǎng)站]。謝謝你的閱讀!


一文掌握Seaborn的高級技巧的評論 (共 條)

分享到微博請遵守國家法律
辽宁省| 志丹县| 南木林县| 平果县| 盱眙县| 福泉市| 长泰县| 平江县| 桂林市| 玛多县| 甘南县| 孝义市| 河西区| 饶平县| 娱乐| 南和县| 屏南县| 定西市| 固始县| 全南县| 平和县| 休宁县| 锡林郭勒盟| 乳源| 静安区| 武宣县| 古交市| 喀什市| 芜湖县| 科技| 德江县| 淮南市| 南阳市| 昭苏县| 宁城县| 定安县| 沛县| 大英县| 东辽县| 页游| 桂平市|