在Seaborn中,我們可以使用FacetGrid對象來自定義子圖繪制。FacetGrid可以幫助我們將數據分組,并在每個子圖中繪制不同的數據。
以下是一個示例代碼,演示如何使用FacetGrid來自定義子圖繪制:
import seaborn as sns
import matplotlib.pyplot as plt
# 創建一個示例數據集
tips = sns.load_dataset("tips")
# 創建一個FacetGrid對象,設置行和列的分組變量
g = sns.FacetGrid(tips, row="sex", col="time")
# 在每個子圖中繪制數據
g.map(sns.scatterplot, "total_bill", "tip")
# 添加標簽
g.set_axis_labels("Total Bill", "Tip")
# 添加標題
g.set_titles("{col_name} {row_name}")
# 調整子圖之間的間距
plt.subplots_adjust(top=0.9)
g.fig.suptitle("Tips by Total Bill and Time")
# 顯示圖形
plt.show()
在這個示例中,我們使用FacetGrid對象來創建一個包含不同行和列分組的子圖網格。然后使用map()
方法在每個子圖中繪制數據。我們還可以使用set_axis_labels()
方法和set_titles()
方法來添加軸標簽和子圖標題。最后,調用plt.subplots_adjust()
方法調整子圖之間的間距,并使用plt.show()
方法顯示圖形。