Add cursor to matplotlib(将光标添加到 matplotlib)
问题描述
这张图片显示了我想要实现的目标:
This picture shows what I am trying to achieve:
我正在寻找一种解决方案,将光标添加到 matplotlib 中绘制的线.光标应该是可拖动的,但只能在绘制的线上移动.标签应显示轨迹上标记点的实际值.
I am searching for a solution to add a cursor to my plotted line in matplotlib. The cursor should be draggable, but should only move on the plotted line. A label shall display the actual value of the marked point on the trace.
我不知道将哪个对象用作此光标/标记.
I don't have an idea which object to use as this cursor/marker.
推荐答案
matplotlib 页面上有一个示例,您可以对其进行调整以在感兴趣的位置显示一个点.
There is an example on the matplotlib page, which you may adapt to show a point at the position of interest.
import matplotlib.pyplot as plt
import matplotlib.widgets as widgets
import numpy as np
class SnaptoCursor(object):
def __init__(self, ax, x, y):
self.ax = ax
self.ly = ax.axvline(color='k', alpha=0.2) # the vert line
self.marker, = ax.plot([0],[0], marker="o", color="crimson", zorder=3)
self.x = x
self.y = y
self.txt = ax.text(0.7, 0.9, '')
def mouse_move(self, event):
if not event.inaxes: return
x, y = event.xdata, event.ydata
indx = np.searchsorted(self.x, [x])[0]
x = self.x[indx]
y = self.y[indx]
self.ly.set_xdata(x)
self.marker.set_data([x],[y])
self.txt.set_text('x=%1.2f, y=%1.2f' % (x, y))
self.txt.set_position((x,y))
self.ax.figure.canvas.draw_idle()
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2*2*np.pi*t)
fig, ax = plt.subplots()
#cursor = Cursor(ax)
cursor = SnaptoCursor(ax, t, s)
cid = plt.connect('motion_notify_event', cursor.mouse_move)
ax.plot(t, s,)
plt.axis([0, 1, -1, 1])
plt.show()
这篇关于将光标添加到 matplotlib的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将光标添加到 matplotlib
基础教程推荐
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
