利用Seaborn繪制20個精美的pairplot圖
大傢好,我是Peter~
本文記錄的使用seaborn繪制pairplot圖,主要是用來顯示兩兩變量之間的關系(線性或非線性,有無較為明顯的相關關系等),官網學習地址:
https://seaborn.pydata.org/generated/seaborn.pairplot.html
參數
主要參數為:
seaborn.pairplot(data, # 繪圖數據 hue=None, # 針對某一字段進行顏色分類 hue_order=None, # 指定分組順序 palette=None, # 控制色調 vars=None, # 變量 x_vars=None, y_vars=None, kind='scatter', # scatter', ‘kde', ‘hist', ‘reg' diag_kind='auto', # ‘auto', ‘hist', ‘kde', None markers=None, # 控制散點的樣式 “+” “s” "D" height=2.5, # 高度 aspect=1, # 寬度 corner=False, # 對角線是否顯示 dropna=False, # 是否去掉控制 plot_kws=None, # 控制非對角線圖例樣式 diag_kws=None, # 控制對角線圖例樣式 grid_kws=None, # 網格設置 size=None) # 默認 6,圖的尺度大小(正方形)
導入數據
import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline sns.set_style('darkgrid',{'font.sans-serif':['simhei','Arial']})
導入seaborn中默認的數據集:
默認情況
In [3]:
sns.pairplot(df) plt.show()
參數kind
空值非對角線上圖形的類型,選擇為
In [4]:
sns.pairplot(df, kind="kde") plt.show()
sns.pairplot(df, kind="hist") plt.show()
sns.pairplot(df, kind="reg") # 使用回歸 plt.show()
參數hue
主要是用來進行分類
In [7]:
sns.pairplot(df, hue="species") plt.show()
sns.pairplot(df, hue="sex") plt.show()
參數diag_kind
控制對角線上的圖的類型,可選"hist"與"kde"
In [9]:
sns.pairplot(df, hue="species", diag_kind="hist") plt.show()
參數palette
主要是用來控制色調,下面是收集到的色系:
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, afmhot, afmhot_r, autumn, autumn_r, binary, binary_r, bone, bone_r, brg, brg_r, bwr, bwr_r, cividis, cividis_r, cool, cool_r, coolwarm, coolwarm_r, copper, copper_r, crest, crest_r, cubehelix, cubehelix_r, flag, flag_r, flare, flare_r, gist_earth, gist_earth_r, gist_gray, gist_gray_r, gist_heat, gist_heat_r, gist_ncar, gist_ncar_r, gist_rainbow, gist_rainbow_r, gist_stern, gist_stern_r, gist_yarg, gist_yarg_r, gnuplot, gnuplot2, gnuplot2_r, gnuplot_r, gray, gray_r, hot, hot_r, hsv, hsv_r, icefire, icefire_r, inferno, inferno_r, jet, jet_r, magma, magma_r, mako, mako_r, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, plasma, plasma_r, prism, prism_r, rainbow, rainbow_r, rocket, rocket_r, seismic, seismic_r, spring, spring_r, summer, summer_r, tab10, tab10_r, tab20, tab20_r, tab20b, tab20b_r, tab20c, tab20c_r, terrain, terrain_r, twilight, twilight_r, twilight_shifted, twilight_shifted_r, viridis, viridis_r, vlag, vlag_r, winter, winter_r
In [10]:
sns.pairplot(df,hue="species",palette="husl") plt.show()
參數markers
In [13]:
sns.pairplot(df, hue="species", diag_kind="hist", markers=["o", "s", "D"]) plt.show()
參數height
控制整個圖形的大小
In [14]:
sns.pairplot(df, height=1.5) plt.show()
sns.pairplot(df, height=4) plt.show()
參數aspect
用來控制圖形的寬度,默認是1,顯示效果為:
sns.pairplot(df, hue="species", aspect=3) plt.show()
參數corner
隻展示一半的圖形,整體的圖形是關於主對角線對稱的
In [16]:
sns.pairplot(df, corner=True) plt.show()
參數vars
控制需要顯示的變量
In [17]:
df.columns
Out[17]:
Index(['species', 'island', 'bill_length_mm', 'bill_depth_mm',
'flipper_length_mm', 'body_mass_g', 'sex'],
dtype='object')
In [18]:
sns.pairplot(df,vars=["island","bill_length_mm","sex"]) plt.show()
參數-x_vars/y_vars
必須同時指定
In [19]:
sns.pairplot( df, x_vars=["bill_length_mm", "bill_depth_mm", "flipper_length_mm"], y_vars=["bill_length_mm", "bill_depth_mm"], ) plt.show()
參數-plot_kws/diag_kws
- plot_kws:用於控制非對角線上的圖的樣式
- diag_kws:用於控制對角線上圖的樣式
In [20]:
sns.pairplot( df, plot_kws=dict(marker="+", edgecolor="b",linewidth=1), diag_kws=dict(fill=False), ) plt.show()
sns.pairplot(df, diag_kind="kde", markers="+", plot_kws=dict(s=50, edgecolor="b", linewidth=1), diag_kws=dict(shade=True) ) plt.show()
參數-dropna
缺失值的處理,默認是
In [22]:
sns.pairplot(df, dropna=True) plt.show()
返回值-PairGrid
關於返回值的自定義內容請參考官網:
https://seaborn.pydata.org/generated/seaborn.PairGrid.html#seaborn.PairGrid
In [24]:
g = sns.pairplot(df, diag_kind="kde") g.map_lower(sns.kdeplot, levels=6, color=".4") plt.show()
以上就是利用Seaborn繪制20個精美的pairplot圖的詳細內容,更多關於Seaborn繪制pairplot圖的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- python散點圖的繪制
- Python如何查看並打印matplotlib中所有的colormap(cmap)類型
- Python+Seaborn繪制分佈圖的示例詳解
- 詳解matplotlib繪圖樣式(style)初探
- python使用seaborn繪圖直方圖displot,密度圖,散點圖