问题标签 [matplotlib-widget]

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 回答
228 浏览

python - 在 matplotlib 中将 CheckButtons 重置为原始值

我有几个滑块、一个带有两个设置为 False 的选项的复选框和一个重置按钮,如下所示:

在我的重置例程中,我使用以下内容来重置我的滑块和 CheckButtons:

问题出在上面,CheckPar.set_active(0) 切换了 FIRST 复选框的值。我想要的是将两个复选框重置为“False”的原始值。

这在 Tkinter 和 Java 中似乎可行,但我无法用 matplotlib 实现。matplotlib 文档说要使用

通过索引直接(取消)激活检查按钮,其中索引是原始标签列表的索引。

不幸的是,我不知道如何实现这一点,也找不到任何人做过的例子。我尝试过的事情包括:

最后两个选项导致类型错误

我能够使用来确定盒子的状态

但我无法将它们重置为原始值。

任何帮助,将不胜感激。

谢谢

0 投票
1 回答
292 浏览

python - 条形图图未添加到现有的 tkinter 窗口

我正在制作一个基于 GUI 的 Tkinter 项目,在主屏幕之后,我必须打开以下窗口,其中包含一个绘制了条形图的图形。以下代码只是我项目的一部分(以及项目中许多按钮之一的命令//并且 screen2 是来自另一个根窗口的 Toplevel() 窗口)

但我明白了:在此处输入图像描述 我想在我的“qy4”窗口上有相同的数字,这样我就可以在条形图上方或下方添加更多标签或文本框,我听说尝试了 n 件事情,但仍然找不到什么是代码错误。

在此处输入图像描述

此外,上图的 x 轴标签不可见,我如何以下列方式显示它们(请注意,屏幕截图中的以下代码已编辑以显示应如何显示): 在此处输入图像描述

我从其他模块调用为 q4() 的实际代码:

在此处输入图像描述 我没有上传整个项目代码,只是其中的一部分,我对 Python 和 Tkinter 很陌生,我在我的项目中遵循程序方法,我知道这是一种不好的编码方式。

0 投票
1 回答
117 浏览

python - 在 wxPython 面板中加载新图像时,Matplotlib RectangleSelector 消失

我在 wxPython 面板中有一个图像,我想通过选择 Matplotlib 来编辑它RectangleSelector。我有一个Image_Viewer绘制图像的类。我有一个Editor类,RectangleSelector功能所在的位置。Editor继承自Image_Viewer。最后,控制面板包含文件选择器按钮。该程序从通过Image_Viewer绘图函数加载的默认图像开始。我可以RectangleSelector很好地使用。但是当我加载一个新图像时,它也通过Image_Viewer绘图功能加载,所有连接都RectangleSelector消失了。

我试图尽可能地减少代码,但整个代码是多标签笔记本的一部分,因此存在wx.lib.agw.aui其他可能的特质。

0 投票
0 回答
197 浏览

python - 如何使 matplotlib button_press_event 忽略单击图形按钮?event.inaxes 不起作用,因为 button 是一个轴对象

这是问题所在。我需要创建“点击捕捉器”。我需要通过单击按钮(标记)打开点击捕获模式,然后,当我点击我的情节时,我希望我的程序记住点列表、坐标等。特别重要的是 - 其他按钮在点击时必须正常工作捕捉模式开启。例如我实现了打印按钮。我想在我的情节中单击几次,然后在不离开单击捕获模式的情况下单击“打印”按钮,然后查看咳嗽点列表。问题是我的程序将matplotlib.widgets按钮视为 anaxes并且每当我使用任何按钮时它都会从它们中捕获点。

我尝试使用event.inaxes whichwhich 应该检查光标是否在轴区域中。所以我已经实现了一些逻辑。不幸的是,它只适用于情节的外部,但根本不适用于按钮。似乎 matplotlib 将按钮视为轴对象,因此它完全不起作用。

请帮帮我,我是编程的初学者,自己学的(所以欢迎任何代码审查)。

* tl;dr:当你打开捕捉模式时,你可以很好地看到这个错误,点击情节,然后多次点击打印按钮。每次单击“打印”都会向点列表中添加额外的坐标。*

代码如下:

0 投票
0 回答
160 浏览

python - 如何从 show() 调用中排除 matplotlib 图?

我有一个拥有一些 matplotlib 图形、轴、艺术家等的类。它具有用于操作和显示这些的功能,这些功能在使用类的实例时都可以正常工作。

但是,如果用户想要在包含我的班级实例的笔记本的另一个单元格中制作一些单独的 matplotlib 图,则当用户调用 plt.show() 来显示他们自己的数字时,将显示所有班级的数字。

我正在使用 ipympl,%matplotlib widget并设置 plt.ioff()。

有没有办法让我设置我的数字,以便在调用 plt.show() 时不显示它们?

示例:考虑这两个 Jupyter Notebook 单元格(必须拆分才能显示第一个图形)

0 投票
1 回答
113 浏览

python - 在 SpanSelector 对象的 onselect 函数中使用非全局变量

每次选择切片时,我都在尝试根据绘图中可见的特征将数据(具有多列的 pandas.DataFrame)切片并保存到单独的文件中。到目前为止,我使用了 matplotlib SpanSelector 和它的onselect函数。但是,这仅适用于全局变量,因为现在似乎有一种简单的方法可以将 DataFrame 传递给函数。有什么解决方案可以避免每次都声明一个全局变量吗?

DataFrame 本身来自将输入文件读入 DataFrame 的程序。

0 投票
1 回答
137 浏览

python - 使 matplotlib 按钮小部件在按下时启动,而不是在释放时启动

我制作了一个简单的交互式 matplotlib 图,它使用按钮来浏览绘图。一个此类按钮的最小示例是:

此按钮按预期运行,但在释放鼠标按钮时激活,而不是在按下鼠标按钮时激活。如果我单击按钮并且不释放鼠标按钮,message则永远不会调用并且不会打印任何内容以输出。这使得按钮在像我这样的情况下使用起来非常不和谐。

如何使这些按钮在按下时启动?或者,我如何构建一个替换按钮?

Windows 10 上的 Python 3.8.1。

0 投票
1 回答
386 浏览

python - 在 matplotlib 的子图下方放置一个滑块

我试图在 matplotlib 中的子图的 x 轴正下方放置一个滑块,以便以相同的值开始和结束。有没有一种简单的方法可以做到这一点,这意味着我在创建包含滑块的 plt.axe 时不必找到正确的坐标并自己放置它们?

0 投票
0 回答
465 浏览

python - 使用频率“标记”和“暂停”按钮创建 matplotlib 频谱图

我正在 matplotlib 中创建一个简单的频谱图

  1. 我想知道如何(或从哪里开始,以便学习)创建一个简单的光标跟踪器,告诉我图表峰值处的频率值。我试图重现的频谱图如下。红色的频谱标记是我想要实现的。

频谱图

我想创建一个简单的可移动垂直标记,就像上面的那个,它告诉我播放声音的频率(在某个点测量我的图表上的 x 值的东西)。

  1. 我还想知道如何插入像上面那样的暂停按钮。这应该可以使整个屏幕可以随时暂停

当前解决方案

截至目前,我的程序如下图所示。这是我用python制作的一个简单的频谱图。

好像

我的代码如下。如果有任何问题,请告诉我,因为我对 Stack Overflow 很陌生,使用这个网站对我来说非常陌生 - 我有很多东西要学!

0 投票
1 回答
220 浏览

python - 使 SpanSelector 等待特定的按键事件

我有一个脚本,它使用 SpanSelector 小部件生成数据图。小部件调用一个select_window(vmin, vmax)闭包函数,该函数使用窗口限制来分析所选数据。分析函数生成另一个带有一些视觉结果的图。

SpanSelector 的默认行为是select_window在选择后立即执行。由于计算有点繁重,我希望用户通过按键确认所选窗口。第一个选项是使用plt.waitforbuttonpress,但这会响应所有关键事件,包括默认用于平移/缩放/等的事件。在 matplotlib 中。

第二个选项是key_press_event直接连接一个,但我不确定在哪里连接和断开事件处理程序。

工作示例,使用 waitforbuttonpress: