1

我正在尝试在同一个图上创建一对散点图

如果散点图 1 被缩放或平移,我想重新显示散点图 2,以便只显示新数据集

子图共享相同的基础数据集,但不共享等效轴,因此我不能使用 sharex、sharey 等,例如,散点图 2 是对散点图 1 中显示的相同数据应用不同函数的结果,导致不同的轴

我想我需要以某种方式提取每个 tme 散点图 1 被缩放/平移显示的数据集,并将该数据传递给绘制散点图 2 的函数,但我找不到任何关于如何做到这一点的信息

一定很常见——我很惊讶我没有为它挖掘出任何食谱类型的脚本

我有一些运气使用“选择器”事件返回散点索引集 - 我真正需要的是返回缩放/平移事件后触发的所有可见点的散点索引的东西

4

1 回答 1

2

您可以检索轴视图间隔:

xinterval, yinterval = ax.xaxis.get_view_interval(), ax.yaxis.get_view_interval()

然后使用间隔来确定哪些点在第一个子图中可见,并使用它来决定什么/如何显示第二个子图。例如:

plt.scatter(xs, ys)

xmin, xmax = ax.xaxis.get_view_interval()
ymin, ymax = ax.yaxis.get_view_interval()
indices = np.where((xmin <= xs) & (xs <= xmax) & (ymin <= ys) & (ys <= ymin))
于 2013-02-04T15:36:49.470 回答