缩放后根据Matplotlib中的当前ylim和xlim重新计算xy值

缩放后根据Matplotlib中的当前ylim和xlim重新计算xy值,第1张

缩放后根据Matplotlib中的当前ylim和xlim重新计算xy值

这可能听起来并不容易。更改限制时,您将更改限制,以使回调无限期运行,从而使窗口崩溃。

因此,我将选择另一个解决方案,使用第二个轴。假设您有两个轴:

  • ax2
    是要绘制的轴。但是没有框架,也没有刻度标签。这是可以更改限制的轴。
  • ax
    是空的。最初的限制与相同
    ax2
    。它将显示ticklabels。

放大后,

ax2
回调函数可以更改
ax
您喜欢的限制。这就是屏​​幕上显示的内容。

import matplotlib.pyplot as plt# Some toy datax_seq = [x / 100.0 for x in xrange(1, 100)]y_seq = [x**2 for x in x_seq]# ax is emptyfig, ax = plt.subplots()ax.set_navigate(False)# ax2 will hold the plot, but has invisible labelsax2 = fig.add_subplot(111,zorder=2)ax2.scatter(x_seq, y_seq)ax2.axis("off")ax.set_xlim(ax2.get_xlim())ax.set_ylim(ax2.get_ylim())## Declare and register callbacksdef on_lims_change(axes):    # change limits of ax, when ax2 limits are changed.    a=ax2.get_xlim()    ax.set_xlim(0, a[1]-a[0])    a=ax2.get_ylim()    ax.set_ylim(0, a[1]-a[0])ax2.callbacks.connect('xlim_changed', on_lims_change)ax2.callbacks.connect('ylim_changed', on_lims_change)# Showplt.show()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存