2012-12-18 112 views
3

有沒有辦法禁用/隱藏matplotlib工具欄顯示在底部?禁用matplotlib工具欄

我已經嘗試過這樣的事情:

import matplotlib as mpl 
mpl.rcParams['toolbar'] = 'None' 

可惜沒有奏效。

+0

這對我的作品。你使用什麼後端? – tiago

回答

9

請務必在之前實例化任何數字,然後致電mpl.rcParams['toolbar'] = 'None'

+1

不適用於nbagg('%matplotlib notebook')後端。 – Taylor

+0

工具欄是圖形窗口頂部的縮放/平移按鈕,還是顯示光標的x和y座標的圖形窗口底部的顯示?這些顯示小部件是否有單獨的名稱? – cxrodgers

0

你可以去C:\Python27\Lib\site-packages\matplotlib\mpl-data, 那裏你會看到一個名爲matplotlibrc文件,打開該文件並 你會發現這樣一行:

#toolbar  : toolbar2# None | toolbar2 ("classic" is deprecated) 

取消註釋該行並將其放置None像冒號後:

toolbar  : None# None | toolbar2 ("classic" is deprecated) and save the file, 

我想你可以禁用matplotlib繪製的圖表中的工具欄。

1

或者,您可以隱藏工具欄:

QToolBar.hide() 

QToolBar.setVisible(False) 

顯然,這將只與Qt的後端工作。 爲了擴展這個答案,給出的圖圖:

首先,如果使用QT5:

from PyQt5 import QtWidgets 

否則:

from PyQt4 import QtGui as QtWidgets 

然後:

try: 
    win = fig.canvas.manager.window 
except AttributeError: 
    win = fig.canvas.window() 
toolbar = win.findChild(QtWidgets.QToolBar) 
toolbar.setVisible(False) 
0

爲了擴大bejota的回答:

顯然這隻會在Qt後端工作。 爲了擴展這個答案,給出的圖圖:

首先,如果使用QT5:

from PyQt5 import QtWidgets 

否則:

from PyQt4 import QtGui as QtWidgets 

然後:

toolbar = win.findChild(QtWidgets.QToolBar) 
toolbar.setVisible(False) 
try: 
    win = fig.canvas.manager.window 
except AttributeError: 
    win = fig.canvas.window() 
toolbar = win.findChild(QtWidgets.QToolBar) 
toolbar.setVisible(False)