首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

matplotlib笔记本光标在具有双y轴的图形上的坐标

matplotlib是一个Python的绘图库,用于创建各种静态、动态、交互式的图形和可视化。它提供了丰富的绘图功能,可以绘制折线图、散点图、柱状图、饼图、等高线图等各种类型的图形。

在具有双y轴的图形上,matplotlib允许我们通过使用两个独立的y轴来显示不同范围的数据。这对于比较两个不同的变量或数据集非常有用。

要获取光标在具有双y轴的图形上的坐标,可以使用matplotlib的事件处理机制。以下是一种实现方式:

代码语言:txt
复制
import matplotlib.pyplot as plt

# 创建一个具有双y轴的图形
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()

# 绘制数据
x = [1, 2, 3, 4, 5]
y1 = [10, 20, 30, 40, 50]
y2 = [1, 4, 9, 16, 25]
ax1.plot(x, y1, 'r-', label='y1')
ax2.plot(x, y2, 'b-', label='y2')

# 添加图例
ax1.legend(loc='upper left')
ax2.legend(loc='upper right')

# 定义鼠标移动事件处理函数
def on_move(event):
    if event.inaxes == ax1:
        x, y = event.xdata, event.ydata
        print("坐标(x1, y1): ({:.2f}, {:.2f})".format(x, y))
    elif event.inaxes == ax2:
        x, y = event.xdata, event.ydata
        print("坐标(x2, y2): ({:.2f}, {:.2f})".format(x, y))

# 连接鼠标移动事件处理函数
fig.canvas.mpl_connect('motion_notify_event', on_move)

# 显示图形
plt.show()

在上述代码中,我们首先创建了一个具有双y轴的图形,然后绘制了两个数据集。接下来,我们定义了一个鼠标移动事件处理函数on_move,该函数根据光标所在的轴不同,打印出对应的坐标信息。最后,通过fig.canvas.mpl_connect将事件处理函数与图形连接起来。

当运行代码并显示图形后,当鼠标在图形上移动时,会在控制台输出对应轴的坐标信息。

推荐的腾讯云相关产品:腾讯云服务器(CVM)、云数据库 TencentDB、腾讯云对象存储(COS)等。你可以通过访问腾讯云官网(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券