Python 使用seaborn jointplot在hexbin中返回值数组

Python 使用seaborn jointplot在hexbin中返回值数组,python,matplotlib,seaborn,histogram,jointplot,Python,Matplotlib,Seaborn,Histogram,Jointplot,我有一个数据集,随着时间的推移跟踪一些位置和一些取决于位置的值,所以我想使用seaborn图来显示这些数据。情节如下所示: 下面是代码。我无法共享数据集来制作它,但这是为了让您了解我在做什么 h = sns.jointplot(data=None,x=dimerDistance,y=Orientation, kind='hex',cmap="gnuplot",ratio=4, marginal_ticks=False,

我有一个数据集,随着时间的推移跟踪一些位置和一些取决于位置的值,所以我想使用seaborn图来显示这些数据。情节如下所示:

下面是代码。我无法共享数据集来制作它,但这是为了让您了解我在做什么

h = sns.jointplot(data=None,x=dimerDistance,y=Orientation,
              kind='hex',cmap="gnuplot",ratio=4,
              marginal_ticks=False,marginal_kws=dict(bins=25, fill=False))


plt.suptitle('Orientation Factor - Distance Histogram of Dimer')
plt.tight_layout()
plt.xlabel('Distance [Angstrom]')
plt.ylabel('k')
我想选择一个由hexbin函数生成的bin,并提取占用该bin的值。例如,在x=25和y=1.7左右时,根据colormap,具有最高计数的箱子。我想转到计数最高的那个箱子,找到这个箱子中的x值和x的数组索引,然后根据它们的共享索引找到k值。或者你可能会说,我想会有这样的东西

bin[z]=[x[index1],x[index2]....x[indexn]]
其中z是具有最高计数的箱子的索引,以便我可以创建一个新箱子

newbin=[y[index1],y[index[2]...,y[indexn]]
由于这些数据是与时间相关的,这些指数会告诉我系统进入垃圾箱的时间范围,所以知道这一点很好。我在堆栈上四处窥探了一下。我发现这篇文章似乎很有帮助


有什么方法可以访问我想在这篇文章中看到的信息吗?

Seaborn不返回这种类型的数据。但hexplot的工作原理与之类似。两者都创建一个
PolyCollection
,从中可以提取值和中心

以下是如何提取(和显示)数据的示例:

导入matplotlib.pyplot作为plt
导入seaborn作为sns
penguins=sns.load_数据集(“penguins”)
g=sns.jointplot(数据=penguins,x=“bill\u length\u mm”,y=“bill\u depth\u mm”,
kind='hex',cmap=“gnuplot”,比率=4,
边际滴答=False,边际滴答=dict(箱子=25,填充=False))
values=g.ax\u joint.collections[0]。获取数组()
ind_max=values.argmax()
xy_max=g.ax_关节。集合[0]。获取偏移量()[ind_max]
g、 ax_joint.text(xy_max[0],xy_max[1],f“max:{values[ind_max]:.0f}\nx={xy_max[0]:.2f}\ny={xy_max[1]:.2f}”,
color='lime',ha='left',va='bottom',fontsize=14,fontwweight='bold')
g、 ax_接头轴(xy_最大值[0],颜色为红色)
g、 ax_joint.axhline(xy_max[1],颜色为红色)
plt.紧_布局()
plt.show()
打印(f“最高的存储箱包含{values[ind_max]:.0f}values”)
打印(f“并以x={xy_max[0]:.2f},y={xy_max[1]:.2f}为中心)
最高的bin包含18个值
以x=45.85,y=14.78为中心


这并不能完全回答我的问题,但还是有帮助的。不过,我现在正试图使用它来获取bin的值数组。