中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python繪圖庫之Seaborn(四)

Seaborn繪圖

誤差errorbar

在Seaborn中定義了兩類估計方法的誤差圖,一個是參數(shù)化估計方法,一個是非參數(shù)估計方法。參數(shù)化和非參數(shù)化方法的大小參數(shù)定義不同。

對于參數(shù)誤差線,它是一個標量因子乘以定義誤差(標準誤差或標準差)的統(tǒng)計量。這個標量是你給定的,當然也有默認值。對于非參數(shù)誤差線,它是百分位寬度。下面將針對每種具體方法進一步解釋這一點。

我們先給出下面這個函數(shù)代碼,后面要使用到的。

def plot_errorbars(arg, **kws):
    np.random.seed(sum(map(ord, 'error_bars')))
    x = np.random.normal(01100)
    sns.set_theme()
    f, axs = plt.subplots(2, figsize=(72), sharex=True, layout='tight')
    sns.pointplot(x=x, errorbar=arg, **kws, capsize=.3, ax=axs[0])
    sns.stripplot(x=x, jitter=.3, ax=axs[1])
    plt.show()
    return f

參數(shù)化估計方法只能給定兩個誤差統(tǒng)計量,一個是標準差sd,一個是標準誤(差)se。先看標準差sd,執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars('sd')

程序輸出的結果見下圖。

這個圖形表示什么意思呢?誤差棒表示加減一倍標準差的長度范圍,中間的點表示樣本均值。也就是說我們在傳遞誤差棒參數(shù)errorbar時候,元組的第二個參數(shù)默認值為1,比如我們執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('sd'1))

程序輸出的結果見下圖。

那要是我們想要繪制一個3倍標準差的范圍,以正態(tài)分布散點為例,正態(tài)分布的值在均值加減3倍標準差以內的概率是99.7%,執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('sd'3))

程序輸出的結果見下圖。

你看到了,這里只有一個散點落在3倍標準差之外了,概率很小的。

始終要記住,誤差棒中間的那個點表示的是均值,那能不能表示其他的統(tǒng)計量呢?可以,但統(tǒng)計意義不大,畫圖當然可以的。執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('sd'2), estimator='std')

程序輸出的結果見下圖。

這個時候我們得到的就是標準差加減2倍標準差的長度范圍了。

我們再看看另一個參數(shù)標準誤差,簡稱標準誤,執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg='se')

程序輸出的結果見下圖。

標準誤差表示的是標準差除以樣本量的開根號,驗證一下是不是這樣子的呢?執(zhí)行下面的代碼,我們給定標準差的scale參數(shù)為樣本量的開根號,即1/10:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('sd',1/10), color='#ff00ee')

程序輸出的結果見下圖。

然后我們再看非參數(shù)的估計,傳遞參數(shù)為pi,表示的是繪制分位數(shù)區(qū)間,第二個參數(shù)width表示的是區(qū)間的寬度,比如95表示百分之95的分位數(shù)區(qū)間。執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('pi',99))

程序輸出的結果見下圖。

這個誤差棒是啥意思呢?真是繪制樣本分位數(shù),從0.5%分位數(shù)的點繪制到99.5%分位點嗎?(這樣子中間的區(qū)間寬度就是99%的范圍了)顯然不是了,因為如果是這樣子,那么兩端的分位點就應該是散點中的具體的某個點了。

但實際上這個理由也說不過去,因為計算分位數(shù)的方法有很多,分位數(shù)不一定是樣本中已出現(xiàn)的點,比如我們采用平均法或者比例分攤法計算分位數(shù)就不是的。

那么這個分位數(shù)區(qū)間到底是什么意思?仍然我們上面所說的那個含義,就是說,它表示樣本0.5%的分位數(shù)和99.5%的分位數(shù)之間的范圍,上面之所以有質疑,是因為我們認為樣本分位數(shù)應該是樣本中的點,按照統(tǒng)計中的定義,但實際上算法不一樣,那么分位數(shù)就不一樣了。

執(zhí)行下面的代碼:

np.random.seed(sum(map(ord, 'error_bars')))
x = np.random.normal(01100)
x = pd.Series(x)
print(x.quantile(0.005), ',', x.quantile(0.995), sep='\t')

程序輸出的結果如下:

	-2.747902468979605	,	2.765363128333703

這就應該是證明了我們的想法。另外從另一個方面可以否定下面這個錯誤的想法:該分位數(shù)區(qū)間是指中間的點(表示某個估計量,默認是均值)的Bootstrap分位數(shù)區(qū)間。

為什么說這個想法是錯誤的呢,我們只需要執(zhí)行下面的代碼即可:

def plot_errorbars(arg, estimator1='mean', estimator2='mean', **kws):
    np.random.seed(sum(map(ord, 'error_bars')))
    x = np.random.normal(01100)
    sns.set_theme()
    f, axs = plt.subplots(3, figsize=(82), sharex=True, layout='tight')
    sns.pointplot(x=x, errorbar=arg, **kws, capsize=.3, ax=axs[0], estimator=estimator1)
    sns.pointplot(x=x, errorbar=arg, **kws, capsize=.3, ax=axs[1], estimator=estimator2)
    sns.stripplot(x=x, jitter=.3, ax=axs[2])
    plt.show()
    return f
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('pi',99), estimator2='std')

程序輸出的結果見下圖。

一個是均值,一個是標準差,很明顯要是估計量的均值,那么它肯定是不一樣的,但是這里的分位數(shù)區(qū)間是一摸一樣的。這樣子就否定了一種猜想,接下來我們驗證上面的說法。執(zhí)行下面的代碼:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

np.random.seed(sum(map(ord, 'error_bars')))
x = np.random.normal(01100
sns.set_theme()
fig, axs = plt.subplots(2, figsize=(82), sharex=True, layout='tight')

axs[0].hlines(0, xmin=-2.747902468979605, xmax=2.765363128333703)
axs[0].scatter(np.mean(x), 0, s=35, c='red', alpha=0.45)
axs[0].set_ylim(-2,2)
sns.stripplot(x=x, jitter=.3, ax=axs[1])
axs[1].set_xlim(-4,4)
plt.show()

程序輸出的結果見下圖。

這樣子更加驗證了我們的猜想。那我們?yōu)槭裁粗皶氲竭@是Bootstrap的置信區(qū)間呢?是因為函數(shù)中有參數(shù)n_boot以及seed。既然pi表示的不是Bootstrap置信區(qū)間,那么什么東西表示呢?

別忘記了,還有一個參數(shù)值'ci',這才是正兒八經的置信區(qū)間,那這也是一個非參數(shù)方法,我猜想它就是Bootstrap置信區(qū)間了,真的嗎?也許吧,試試下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars('ci')

程序輸出的結果見下圖。

這是什么意思呢?我猜測這是統(tǒng)計量的一個Bootstrap置信區(qū)間,默認的統(tǒng)計量是樣本均值,默認的置信區(qū)間是95%的置信區(qū)間,所以它繪制的是樣本均值的Bootstrap的95%的置信區(qū)間。為什么這么說呢?

因為它的置信區(qū)間很短呀,就在樣本均值附近。我們執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('ci'90))

程序輸出的結果見下圖。

這個長度應該是更加短的,而事實也是如此。其實,我們每次運行相同的代碼得到的結果都不相同,但是在這個圖形上表現(xiàn)得并不明顯。需要指定seed和n_boot即可。

執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

fig = plot_errorbars(arg=('ci'99), estimator='median')

程序輸出的結果見下圖。

再次運行上面的代碼,得到的結果見下圖。

圖形

這并看不出啥太大的區(qū)別,我們將樣本量減少些試試看,就是要驗證它是Bootstrap置信區(qū)間,那么就有抽樣的隨機性,除非指定隨機數(shù)種子。執(zhí)行下面的代碼:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

def plot_errorbars(arg, **kws):
    np.random.seed(sum(map(ord, 'error_bars')))
    x = np.random.normal(0110)
    sns.set_theme()
    f, axs = plt.subplots(2, figsize=(72), sharex=True, layout='tight')
    sns.pointplot(x=x, errorbar=arg, **kws, capsize=.3, ax=axs[0])
    sns.stripplot(x=x, jitter=.3, ax=axs[1])
    plt.show()
    return f
fig1 = plot_errorbars(arg=('ci'99), estimator='var')
fig2 = plot_errorbars(arg=('ci'99), estimator='var')

得到的結果見下圖。

得到的結果見下圖。

仔細觀察,還是可以看出它們是有區(qū)別的,驗證了我們的結論。但是我們要是給定參數(shù)n_boot和seed,那么就不會有這個差別了。

回歸曲線擬合

至此,我們都了解清楚了誤差棒是啥意思了。下面再看線性擬合的函數(shù)可視化,有兩個。一個是regplot,一個是lmplot。

我們先看一元線性回歸的擬合曲線并且繪制它的95%的置信區(qū)間,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig, ax = plt.subplots(figsize=(6,6))
sns.regplot(x='total_bill', y='tip', data=tips, ax=ax)
plt.show()

得到的結果見下圖。

以及另外一個函數(shù)lmplot,它們的功能基本上是一樣的,只不過lmplot是Figure層面的函數(shù),而regplot是圖形層面的函數(shù)。執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
penguins = sns.load_dataset('penguins')
fig = sns.lmplot(data=penguins, x='bill_length_mm', y='bill_depth_mm'
                 hue='species', aspect=1.4)
plt.show()

得到的結果見下圖。

上面是擬合線性模型了,如果我們要擬合二次模型呢?指定參數(shù)order為2即可,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
penguins = sns.load_dataset('penguins')
fig = sns.lmplot(data=penguins, x='bill_length_mm', y='bill_depth_mm'
                 order=2, hue='species', aspect=1.4, height=8)
plt.show()

得到的結果見下圖。

它使用的是函數(shù)numpy.polyfit來擬合二次函數(shù)。這個的二次擬合效果并不太明顯,說明還是線性擬合效果好些。下面這個數(shù)據就需要使用二次函數(shù)了,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig, ax = plt.subplots(figsize=(6,6))
sns.regplot(x='sepal_length', y='sepal_width', data=iris.iloc[:50,:],
            order=2, ci=None, scatter_kws={'s'80})
plt.show()

得到的結果見下圖。

這里是因為指定了ci=None,才沒有繪制置信帶的。不僅僅可以擬合多項式回歸模型,還可以擬合logistic回歸模型,先看下面這個不使用logistic模型的情況,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
tips['big_tip'] = (tips.tip / tips.total_bill) > .15
fig = sns.lmplot(x='total_bill', y='big_tip', data=tips, y_jitter=.03, aspect=1.2)
plt.show()

得到的結果見下圖。

再來看一次擬合二次項的數(shù)據,之前那個不是那么合適。執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
anscombe = sns.load_dataset('anscombe')
fig = sns.lmplot(x='x', y='y', data=anscombe.query('dataset == 'II''), 
                 order=2, ci=None, scatter_kws={'s'80}, aspect=1.2)
plt.show()

得到的結果見下圖。

再來看下擬合logistic模型的情況,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
tips['big_tip'] = (tips.tip / tips.total_bill) > .15
fig = sns.lmplot(x='total_bill', y='big_tip', data=tips, logistic=True
                 y_jitter=.03, aspect=1.2)
plt.show()

得到的結果見下圖。

我們還可以通過局部多項式回歸來擬合數(shù)據,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig = sns.lmplot(x='total_bill', y='tip', data=tips, lowess=True
                 line_kws={'color''C1'}, aspect=1.15)
plt.show()

得到的結果見下圖。

有關函數(shù)lmplot更多的參數(shù)用法請參考這里

https://seaborn.pydata.org/generated/seaborn.lmplot.html

函數(shù)regplot的更多用法請參考這里

https://seaborn.pydata.org/generated/seaborn.regplot.html

一元線性回歸殘差圖使用函數(shù)redisplot,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig, ax = plt.subplots(figsize=(6,6))
sns.residplot(x='sepal_width', y='sepal_length', data=iris.iloc[0:50,:], scatter_kws={'s'80}, ax=ax)
plt.show()

得到的結果見下圖。

有關函數(shù)residplot的更多用法請參考這里

https://seaborn.pydata.org/generated/seaborn.residplot.html

繪制子圖

這里所謂的繪制子圖一般是分組變量下所產生的子圖,是有關系的,而不是幾個圖形拼接在一起的子圖。

在Seaborn中繪制子圖,主要是通過函數(shù)FacetGrid來實現(xiàn)。

我們以某個變量作為分組變量繪制子圖,使用參數(shù)col或者row指定,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.FacetGrid(data=iris, col='species', height=6)
plt.show()

得到的結果見下圖。

這里只是作出了三個子圖,依照變量species有三個類別,那么我們要在這三個子圖上繪制什么圖形呢?我們就需要執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.FacetGrid(data=iris, col='species', height=6)
fig.map(sns.scatterplot, 'petal_length''petal_width')
plt.show()

得到的結果見下圖。

這里我們使用map方法將散點圖函數(shù)scatterplot映射到兩個變量上,所以就有了分組散點圖。那這里我們想要在每一幅子圖中在次分組,這樣子是可以用來三個分類變量的分組柱狀圖的,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig = sns.FacetGrid(data=tips, col='sex', hue='smoker', height=5)
fig.map(sns.countplot, 'time', order=['Dinner''Lunch'], dodge=True)
fig.add_legend()
plt.show()

得到的結果見下圖。

你發(fā)現(xiàn)我們想要繪制的三個分類變量的柱狀圖失敗了,那應該如何呢?要不試試barplot函數(shù),但是我覺得還是有些問題的,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig = sns.FacetGrid(data=tips, col='sex', hue='smoker', height=5)
fig.map(sns.barplot, 'total_bill', dodge=False)
fig.add_legend()
plt.show()

得到的結果見下圖。

這樣子是沒有問題的,只是我們似乎無法讓它并排排列。堆疊柱狀圖不太好觀察,不太美觀。

繪制一個兩個分組變量下的散點圖是可以做到的,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig = sns.FacetGrid(tips, col='sex', hue='smoker', height=5)
fig.map(sns.scatterplot, 'total_bill''tip', alpha=.7)
fig.add_legend()
plt.show()

得到的結果見下圖。

前面我們只是傳遞了一個參數(shù)col,要是同時傳遞另一個參數(shù)row會怎么樣呢?執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig = sns.FacetGrid(tips, row='smoker', col='time', margin_titles=True, height=5)
fig.map(sns.regplot, 'tip''total_bill', color='.3')
fig.add_legend()
plt.show()

得到的結果見下圖。

從這里我們就知道了,同時傳遞兩個參數(shù),分類變量,那么得到的子圖個數(shù)就是這兩個分類變量的類別數(shù)的乘積?;谶@個啟發(fā),我們還可以這樣子繪制三變量的柱狀圖,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig = sns.FacetGrid(tips, row='smoker', col='time', margin_titles=True, height=5)
fig.map(sns.countplot, 'sex', order=['Male''Female'], palette='PRGn')
fig.add_legend()
plt.show()

得到的結果見下圖。

這樣子的一個缺點就是無法進一步的比較,只能在同一個類別中進行比較。當然不同的子圖中也是可以比較的,而且看得還算是比較清晰的。我們還是想要在同一個圖中繪制,減少子圖的數(shù)量。也就是說,要實現(xiàn)我們之前的需求,如何?似乎Seaborn沒法實現(xiàn)。

但是對于數(shù)值型變量的柱狀圖是可以做到的,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
fig = sns.FacetGrid(tips, col='sex', hue='smoker', height=5)
fig.map(sns.barplot, 'size''total_bill', alpha=.7, order=[1,2,3,4,5,6], dodge=False)
fig.add_legend()
plt.show()

得到的結果見下圖。

它似乎只能繪制堆疊柱狀誤差圖,而不能繪制并排排列的柱狀誤差圖。

繪制核密度估計,分組繪制,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
ordered_days = tips['day'].value_counts().index
fig = sns.FacetGrid(tips, row='day', row_order=ordered_days, height=1.7, aspect=4)
fig.map(sns.kdeplot, 'total_bill')
plt.show()

得到的結果見下圖。

通過row_order來指定子圖的排列順序,那么col_order也是一樣的。

其實呢,F(xiàn)acetGrid函數(shù)不僅僅可以繪制子圖,它還可以不繪制子圖,只要不傳遞col和row參數(shù)即可,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
pal = dict(Lunch='seagreen', Dinner='.7')
fig = sns.FacetGrid(tips, hue='time', palette=pal, height=5)
fig.map(sns.scatterplot, 'total_bill''tip', s=100, alpha=.5)
fig.add_legend()
plt.show()

得到的結果見下圖。

FacetGrid的map方法可以是自定的函數(shù),執(zhí)行下面的代碼,繪制分位數(shù)圖:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
tips = sns.load_dataset('tips')
def qqplot(x, y, **kwargs):
    _, xr = stats.probplot(x, fit=False)
    _, yr = stats.probplot(y, fit=False)
    plt.scatter(xr, yr, **kwargs)

fig = sns.FacetGrid(tips, col='smoker', height=4)
fig.map(qqplot, 'total_bill''tip')
fig.add_legend()
plt.show()

得到的結果見下圖。

有關函數(shù)FacetGrid的更多方法可以參考這里

http://seaborn.pydata.org/generated/seaborn.FacetGrid.html

另外一個繪制子圖的函數(shù)是PairGrid,它有一個類似功能的函數(shù)pairplot,后者是前者的快速繪圖函數(shù)。

繪制矩陣散點圖,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.PairGrid(iris)
g.map(sns.scatterplot)
plt.show()

得到的結果見下圖。

如果我們不想要對角線上的子圖也是散點圖,而是其他的什么圖形,比如直方圖,那么可以執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.PairGrid(iris)
# 對角線上的圖形
fig.map_diag(sns.histplot)
# 非對角線上的圖形
fig.map_offdiag(sns.scatterplot)
plt.show()

得到的結果見下圖。

要加以顏色區(qū)別,使用參數(shù)hue即可,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.PairGrid(iris, hue='species', palette='PRGn')
fig.map_diag(sns.histplot)
fig.map_offdiag(sns.scatterplot)
fig.add_legend()
plt.show()

得到的結果見下圖。

如果我們不需要繪制所有變量的散點圖,可以通過參數(shù)vars來指定具體的變量名,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.PairGrid(iris, vars=['sepal_length''sepal_width'],  hue='species', palette='PRGn')
fig.map_diag(sns.histplot)
fig.map_offdiag(sns.scatterplot)
fig.add_legend()
plt.show()

得到的結果見下圖。

上三角繪制不一樣的圖,下三角繪制不一樣的圖,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.PairGrid(iris, hue='species', palette='BuGn')
# 上三角繪圖
fig.map_upper(sns.scatterplot)
# 下三角繪圖
fig.map_lower(sns.kdeplot)
fig.map_diag(sns.kdeplot, lw=3, legend=False)
plt.show()

得到的結果見下圖。

下面再看函數(shù)pairplot的用法,執(zhí)行下面的代碼:

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()
iris = sns.load_dataset('iris')
fig = sns.pairplot(iris, hue='species', height=2.5, palette='BuPu')
plt.show()

得到的結果見下圖。

只不過它對角線上默認是繪制核密度估計曲線。

有關函數(shù)FacetGrid更多的方法以及參數(shù)用法請參考這里

https://seaborn.pydata.org/generated/seaborn.FacetGrid.html

有關函數(shù)PairGrid的參數(shù)和方法的用法請參考這里

https://seaborn.pydata.org/generated/seaborn.PairGrid.html

有關函數(shù)pairplot的參數(shù)更多用法請參考這里

https://seaborn.pydata.org/generated/seaborn.pairplot.html
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python 數(shù)據可視化,常用看這一篇就夠了
Seaborn常用的10種數(shù)據分析圖表
十分鐘掌握Seaborn,進階Python數(shù)據可視化分析
如何利用Seaborn繪制熱力圖?
使用 Python 進行數(shù)據可視化之Seaborn
Python數(shù)據可視化:用Seaborn繪制高端玩家版散點圖
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服