如何解决将正常拟合、垂直线和单个数据点添加到 seaborn pairplot 上的对角线
我正在尝试向我的 sns.pairplot 的对角线添加一些额外内容。目前我正在使用 kde 选项,这是我想保留的。但是,我还想在每个对角线 kde 图上叠加以下内容:
到目前为止,我已经能够在非对角线图中添加一些垂直和水平线,我对此很满意,但我似乎无法为对角线绘制任何图。
非常感谢任何帮助。
到目前为止,这是我使用标准 seaborn 数据集的工作代码的片段:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
penguins = sns.load_dataset("penguins")
#########################################################################################################
## function that overlays the scatter plots in the pairs plot with the X% extension of max/min Boxes.
PctExtension = 50 # how much percent extension do you want to draw the bounding Box beyond the min and max?
def plot_pctBox(xdata,ydata,**kwargs):
pct_xdata = [xdata.min() - ((xdata.max() - xdata.min())*(0.01*PctExtension)),xdata.max() + ((xdata.max() - xdata.min())*(0.01*PctExtension))]
pct_ydata = [ydata.min() - ((ydata.max() - ydata.min())*(0.01*PctExtension)),ydata.max() + ((ydata.max() - ydata.min())*(0.01*PctExtension))]
print('The bounding Box range is: ',pct_xdata)
#print('The new max x is: ',pct_xdata[1])
plt.gca().axvline(x=pct_xdata[0],color='k',marker=None,linestyle='--',linewidth=1.0)
plt.gca().axvline(x=pct_xdata[1],linewidth=1.0)
plt.gca().axhline(y=pct_ydata[0],linewidth=1.0)
plt.gca().axhline(y=pct_ydata[1],linewidth=1.0)
###########################################################################################################
grid = sns.pairplot(penguins,kind='scatter',diag_kind='kde',markers=None,height=2.5,aspect=1,diag_kws=None,grid_kws=None,size=None) # call the pairs plot.
grid.map_offdiag(plot_pctBox) # call the % Boxes.
grid.fig.suptitle('50%ext bounding Box/ Penguins',y=1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。