我正在尝试使用图形构建简单的用户界面。 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()那样的百分比。