seaborn.FacetGrid
官方文檔鏈接:https://www.cntofu.com/book/172/docs/32.md
一、函數
class seaborn.FacetGrid(data, row=None, col=None, hue=None, col_wrap=None, sharex=True, sharey=True, height=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, size=None)
用于繪制條件關系的多圖網格
基本工作流程是使用數據集和用于構造網格的變量初始化FacetGrid對象。然后,通過調用 FacetGrid.map() 或FacetGrid.map_dataframe(),可以將一個或多個繪圖函數應用于每個子集。最后,可以使用其他方法調整繪圖,以執行更改軸標簽、使用不同刻度或添加圖例等操作
二、參數
data:DataFrame數據。
整潔的(“長形式”)dataframe數據,其中每一列是一個變量,每一行是一個觀察實例。
row, col, hue:字符串。
定義數據子集的變量,這些變量將在網格的不同方面繪制。請參閱*_order參數以控制此變量的級別順序。
col_wrap:整形數值,可選參數。
以此參數值來限制網格的列維度,以便列面跨越多行。與row面不兼容。
share{x,y}:布爾值,‘col’ 或 'row’可選
如果為true,則跨列共享y軸或者跨行共享x軸。
height:標量,可選參數。
每個圖片的高度設定(以英寸為單位)。另見:aspect
aspect:標量,可選參數。
每個圖片的縱橫比,因此aspect * height給出每個圖片的寬度,單位為英寸。
palette:調色板名稱,列表或字典,可選參數。
用于色調變量的不同級別的顏色。應為color_palette()可以解釋的參數,或者是將色調級別映射到matplotlib顏色的字典。
{row,col,hue}_order:列表,可選參數。
對所給命令級別進行排序。默認情況下,這將是在數據中顯示的級別,或者,如果變量是pandas分類,則為類別順序。
hue_kws:參數-列表值的映射字典
插入到繪圖調用中的其他關鍵字參數,使得其他繪圖屬性在色調變量的級別上有所不同(例如散點圖中的標記)。
legend_out:布爾值,可選參數。
如果為True,則圖形尺寸將被擴展,圖例將繪制在中間右側的圖形之外。
despine:布爾值,可選參數。
從圖中移除頂部和右側邊緣框架。
margin_titles:布爾值,可選參數。
如果為True,則行變量的標題將繪制在最后一列的右側。此選項是實驗性的,可能無法在所有情況下使用。
{x, y}lim:元組,可選參數。
每個圖片上每個軸的限制(僅當share {x,y}為True時才相關)。
subplot_kws:字典,可選參數。
傳遞給matplotlib subplot(s)方法的關鍵字參數字典。
gridspec_kws:字典,可選參數。
傳遞給matplotlib的gridspec模塊(通過plt.subplots)的關鍵字參數字典。需要matplotlib> = 1.4,如果col_wrap不是None,則忽略它。
三、實例
import pandas as pd import seaborn as sns from matplotlib import pyplot as plt d = {'col1': list(range(0,10,1)), 'col2':list(range(10,20,1)),'col3':list(range(20,30,1))} data = pd.DataFrame(d) data m = pd.melt(data) m g = sns.FacetGrid(m, col="variable", col_wrap=2, sharex=False, sharey=False) g = g.map(sns.distplot, "value")sns.distplot
橫軸–變量可取的值
縱軸–變量取該值的概率
variable 的取值有多少個,畫出來的子圖就有多少個
總結
以上是生活随笔為你收集整理的seaborn.FacetGrid的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pd.melt
- 下一篇: opencv画矩形以及在图像上放文字