相关疑难解决方法(0)

Matplotlib导航工具栏:删除"编辑曲线线和轴参数"

最近我开始探索在Qt Designer中开发UI并通过PyQt编辑它们.事情进展顺利,但我目前仍在努力解决以下问题:

我已经通过Qt Designer插入了一个MatplotLib小部件,并设法使用barh绘制相当好的水平条形图.接下来我尝试通过matplotlib.backends.backend_qt4agg.NavigationToolbar2QT成功设法插入功能NavigationToolBar

然后,按照这个线程(和类似的线程),我设法编辑了我想在工具栏上显示的按钮... 如何在matplotlib图窗口中轻松修改导航工具栏?

它适用于除最后一个按钮之外的每个按钮,其复选框图形描述"编辑曲线线和轴参数".在这种特殊情况下,我真的想删除这个按钮,因为它在移动鼠标时不断调整绘图大小,在这种情况下我不需要这个按钮.

我还没有找到讨论这个特定工具栏按钮的任何线程(只有这一个matplotlib:Qt4Agg工具栏的烦人的bug)

用于插入工具栏和当前编辑按钮的代码如下所示:

from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT

class currentUI(QtGui.QWidget):

    def __init__(self):
        super(currentUI,self).__init__()
        (...)
        uic.loadUi('portfolioManager.ui',self)
        self.initUI()
        (...)
    def initUI(self):        
        self.setWidgetsPropertiesAndActions()
    (...)
    def setWidgetsPropertiesAndActions(self):
        (...)
        self.navi_toolbar=NavigationToolbar(self.mplwidgetExposures, self)
        self.LayoutPlot.addWidget(self.navi_toolbar)
(...)
class NavigationToolbar(NavigationToolbar2QT):

    toolitems = [t for t in NavigationToolbar2QT.toolitems if
                 t[0] in ('Home','Pan', 'Zoom', 'Save','Subplots')]
Run Code Online (Sandbox Code Playgroud)

这成功嵌入了工具栏,但"编辑"按钮仍然存在.

非常感谢任何见解.问候

python plot pyqt matplotlib toolbar

5
推荐指数
1
解决办法
1556
查看次数

Matplotlib/Tkinter - 自定义工具栏工具提示

我创建了一个基于Tkinter的应用程序,它使用Matplotlib绘制波形.我想知道如何更改Matplotlib工具栏按钮的工具提示(我需要翻译英文描述,因为我的应用程序是捷克语).我还想更改/翻译或只删除工具栏面板旁边的描述(pan/zoom,zoom rect),单击缩放或平移按钮.

我找到了一些有关如何在工具栏中添加或删除按钮的有用提示,但是没有找到任何有关自定义工具提示/描述的建议.我认为它与前一种情况类似,因为我需要创建一个新的工具栏类,NavigationToolbar2TkAgg并以某种方式修改它.有关如何做到这一点的任何建议?提前谢谢了.

python matplotlib

3
推荐指数
1
解决办法
6754
查看次数

如何从Matplotlib中删除工具栏按钮

我想从绘图工具栏(matplotlib)中删除一些按钮。

我看到有一些旧的解决方案:

如何在matplotlib图形窗口中轻松修改导航工具栏?

但是所有答案都使用GUI框架(QT,TKinter)。

是否有不使用GUI框架的新解决方案?

在此处输入图片说明

python matplotlib

1
推荐指数
1
解决办法
613
查看次数

如何从 NavigationToolbar2Tk/FigureCanvasTkAgg 中删除工具栏按钮

我将 matplotlib 与 tk/tkinter 一起使用,遵循“ Embedding in Tk

self._figure = Figure()
self._axes: matplotlib.axes.Axes = self._figure.add_subplot(111)
self._canvas = FigureCanvasTkAgg(self._figure, master=frame)

toolbar = NavigationToolbar2Tk(self._canvas, frame)
toolbar.update()
Run Code Online (Sandbox Code Playgroud)

根据工具管理器

self._figure.canvas.manager.toolmanager.remove_tool("pan")
Run Code Online (Sandbox Code Playgroud)

应该有效,但事实并非如此。

# self._figure.canvas does not have attribute 'manager'
Run Code Online (Sandbox Code Playgroud)

从 vs-code 的屏幕截图中可以看出,FigureCanvasTkAgg 没有属性“manager”:

在此输入图像描述

如何去掉工具栏按钮?

python tkinter matplotlib python-3.x

0
推荐指数
1
解决办法
4450
查看次数

标签 统计

matplotlib ×4

python ×4

plot ×1

pyqt ×1

python-3.x ×1

tkinter ×1

toolbar ×1