matplotlib + PyQt5:绘制区域边距

时间:2017-10-29 11:40:52

标签: python matplotlib pyqt

我正在尝试使用图形构建简单的用户界面。 matplotlib和PyQt5的组合效果很好,但有一点我不喜欢:轴区域周围的边缘很大。

在我附加的图像上:顶部和底部边距占据了所有区域的近三分之一。我怎样才能让它们变小?

图像

我使用的代码如下:

from PyQt5 import QtCore, QtWidgets, QtGui
import matplotlib
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
from matplotlib import dates

class GraphWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QMainWindow.__init__(self, parent)

        main_layout = QtWidgets.QHBoxLayout(self)

        # graph area
        self.graph = Figure()
        self.graph.autofmt_xdate()
        self.axis = self.graph.add_subplot(111)
        self.canvas = FigureCanvas(self.graph)
        main_layout.addWidget(self.canvas)

        self.draw()

    # draw function
    def draw(self):
        self.axis.plot(some_x, some_y, some_color, label=some_label)
        fmt = dates.DateFormatter('%M:%S')
        self.axis.xaxis.set_major_formatter(fmt)
        self.axis.xaxis.set_major_locator(matplotlib.ticker.MaxNLocator(7))
        self.axis.legend(loc=2)
        self.axis.grid(b=True, which='both', color='#cccccc', linestyle='--')
        self.canvas.draw()

这个问题与this不同,因为我想知道如何绝对调整绘图边距,例如以像素或英寸/厘米为单位,而不是像使用函数subplots_adjust()那样的百分比。

0 个答案:

没有答案