问题标签 [ginput]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
168 浏览

matplotlib - 使用 matplotlib ginput 收集鼠标点击位置并通过位置绘制垂直线

我正在尝试使用 ginput 收集一系列鼠标单击位置,每次通过每次单击绘制一条垂直线来更新绘图:

这可以正常工作,因为它正确存储了所有点击位置,但它仅在每秒钟点击一次时绘制垂直线,我不明白为什么会发生这种情况。

我在用着

达尔文上的 Python 3.9.2(默认,2021 年 2 月 24 日,13:30:36)[Clang 12.0.0 (clang-1200.0.32.29)]

和 matplotlib 版本 3.3.4

0 投票
1 回答
88 浏览

matlab - 以与 Ginput 相同的方式从 Ginputc 获取子图号(以更快的 Ginput 回答)

我正在尝试用 fileexchange 上的函数替换该函数ginputginputc来自 Jiro 的自定义 GINPUT。我发现ginput 第一次调用时启动速度很慢。ginputc是比较快的。

我正在使用的一项功能ginput无法复制ginputc。当鼠标点击它时,我得到了子图号。

此处对此进行了解释ginputget-subplot-number-from-ginput

但为了更容易,这里有一些简单的代码来复制功能:

如果您在其中尝试相同的操作,ginputc则无论您单击哪个子图,总是给出最后一个子图:

有一个选项可以将斧头作为额外输出ginputc

但这也行不通。我想这ginputc确实会改变,gca但经过几个小时的尝试,我还没有找到原因以及如何解决它。

0 投票
2 回答
254 浏览

python - 防止matplotlib ginput注册点击小部件按钮

我编写了一个代码来注册使用ginput在绘图窗口中单击的 x 值,它工作正常并且仅在您在窗口内单击时注册。

然后,我想使用我所做的 matplotlib 小部件添加一些控制按钮,并且它们与这些方法也可以正常工作,到目前为止一切都很好......

但是,我的问题是,当我单击按钮时,按钮的坐标也由 ginput 注册,这是我不想要的。有什么办法可以防止这种情况发生吗?使按钮区域对 ginput 无效或以某种方式检测到并拒绝这些点击?

我也很高兴使用 ginput 的替代方法,我并不真正喜欢任何特定的方法(我对 python 中的 GUI 非常陌生,只想建立一个简单的例子)。

这是我的可重现示例,单击测试按钮还会在列表中添加行:-(

示例截图:

在此处输入图像描述

编辑:我暂时想到了一个软糖,在按钮方法中我添加了一个弹出以从时间列表中删除条目并取消绘制线条(我还将时间和线条声明为全局),它可以工作但是它很笨重而且不是很优雅,因为程序画错了线,然后又把它删除了,呃。

0 投票
0 回答
74 浏览

python - 使用 ginput 时绘图窗口不会关闭?

我正在尝试使用 ginput 来纠正我正在分析的某些数据中的时间为零。我可以让窗口弹出并打印我单击的点,但是窗口保持打开状态并且我无法关闭它。当我在 MacOS 上时,当我将鼠标悬停在图表的任何部分上时,我的鼠标会变成旋转的死亡沙滩球,然后单击我想要的点。我在下面包含了示例代码。

我确信一定有一些简单的东西我错过了,但经过几个小时的搜索,我找不到任何有同样问题的东西。

0 投票
2 回答
44 浏览

python - 为什么当类在函数中时,类中的全局行为会有所不同?

我正在尝试使用ginput在地图上注册点击,并想使用 matplotlib 小部件添加操作按钮。在下面的代码中,我可以通过将 action 的值声明为global. 如果我点击地图,action=0,如果我点击按钮,action=1,根据需要。

但我的困惑是,如果我采用完全相同的代码并将其放在 def 块中,则 action 的值不再传回,action始终为零。

我很困惑为什么会发生这种情况。我尝试将类定义移到主代码中,但这没有帮助。我对任何类型的解决方案都很高兴(例如,通过参数传递动作,我不明白如何处理小部件),因为我认为使用global经常皱着眉头。但global基于 - 的解决方案也很好。

0 投票
0 回答
72 浏览

python - 来自 JupyterLab 中 matplotlib 的 ginput 不起作用

根据 https://www.geeksforgeeks.org/matplotlib-pyplot-ginput-in-python/,Python中的 ginput 函数由以下代码给出:

我插入的对 jupyterlab 的唯一修改是魔术函数

在脚本的开头。但是,我没有让 ginput() 在 Jupyterlab 中工作。它不会产生任何错误,只是没有出现图,我可以用鼠标单击。因此 ginput() 的输出为空。在其他 Python IDE 中,它可以完美运行(例如 Thonny)。

有人让 ginput() 函数在 Jupyterlab 中工作吗?

0 投票
1 回答
27 浏览

python - Matplotlib.pyplot.ginput():从两线图中为一个 x 值获取两个 y 值

目前,我使用以下代码通过单击绘图来获取函数值,这适用于一条曲线:

我现在想同时绘制第二条曲线并通过单击确定 x 值从两个图中获取 y 值。谢谢你的帮助!