python绘图滚动条_python – Matplotlib上显示页面的滚动条

我想知道是否有一种方法可以在matplotlib上显示滚动条(水平或垂直),显示包含多个子槽(sublot2grid)的页面(plt.show).目前,我找到的唯一解决方案是使子图非常小,这根本不是很优雅.

解决方法:

显示matplotlib图的窗口没有添加滚动条的选项.它会自动调整大小到图形大小.相反,如果调整大小,数字也会调整大小.

一个选项是构建一个具有此功能的自定义窗口.为此,可以使用PyQt.下面给出一个示例,其中不是调用plt.show()而是调用自定义类,并将图形绘制为参数.图形大小应设置为图前面的图形,并且自定义类不会更改它.相反,它将图形放入带有滚动条的画布中,这样图形保留了原始大小,并且可以在Qt窗口中滚动.你不必处理类中的细节,而只需处理脚本末尾的调用.

此示例适用于PyQt4,请参阅下面的PyQt5示例.

import matplotlib.pyplot as plt

from PyQt4 import QtGui

from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas

from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar

class ScrollableWindow(QtGui.QMainWindow):

def __init__(self, fig):

self.qapp = QtGui.QApplication([])

QtGui.QMainWindow.__init__(self)

self.widget = QtGui.QWidget()

self.setCentralWidget(self.widget)

self.widget.setLayout(Qt

你可能感兴趣的:(python绘图滚动条)