pyqtgraph 中子图的大小不等
Unequal sizes for subplots in pyqtgraph
我试图解决在 pyqtgraph 布局中为子图设置不同大小比例的问题,但没有成功。代码如下所示
from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg
import pyqtgraph.exporters
import numpy as np
app = QtGui.QApplication([])
view = pg.GraphicsView()
l = pg.GraphicsLayout(border=(100,100,100))
view.setCentralItem(l)
view.show()
view.setWindowTitle('pyqtgraph example: GraphicsLayout')
view.resize(1000,1600)
rows=range(3)
cols=range(3)
ar=0
for row in rows:
ac=0
for col in cols:
l2=l.addLayout()
p_res = l2.addPlot()
p_res.hideAxis('bottom')
l2.nextRow()
p_data = l2.addPlot()
p_res.plot([1,1,2,2,1,1])
p_data.plot([1,3,2,4,3,5])
ac=ac+1
l.nextColumn()
l.nextRow()
ar=ar+1
if __name__ == '__main__':
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
exporter = pg.exporters.ImageExporter(view.scene())
# save to file
exporter.export('fileName.png')
这段代码的输出如下:
这里我们看到 9 个图,横跨 3 行和 3 列。考虑到第 1 行和第 1 列的图,如何将顶部面板中的子图大小与下面板中的子图大小的比率更改为 1:3?
我遇到了同样的问题,在这里进行了很好的讨论和修复https://groups.google.com/forum/#!topic/pyqtgraph/aMaCMOrrrJg, or https://groups.google.com/forum/#!topic/pyqtgraph/RJjtJea9KFc
我的密码是
self.graphics_layout_widget = pg.GraphicsLayoutWidget() # contains a graphicsview
self.plot_holding_grid.addWidget(self.graphics_layout_widget, 0, 0, 1, 1)
self.graphics_layout_widget.setBackground('w')
upperplot = self.graphics_layout_widget.addPlot(0, 0, 1, 1)
plotpen = pg.mkPen(color='k', width=2)
upperplot.plot(first_time, first_record, pen=plotpen)
lowerplot = self.graphics_layout_widget.addPlot(1, 0, 1, 1)
# restrict size of plot areas
self.graphics_layout_widget.ci.layout.setRowStretchFactor(0, 4)
self.graphics_layout_widget.ci.layout.setRowStretchFactor(1, 1)
我试图解决在 pyqtgraph 布局中为子图设置不同大小比例的问题,但没有成功。代码如下所示
from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg
import pyqtgraph.exporters
import numpy as np
app = QtGui.QApplication([])
view = pg.GraphicsView()
l = pg.GraphicsLayout(border=(100,100,100))
view.setCentralItem(l)
view.show()
view.setWindowTitle('pyqtgraph example: GraphicsLayout')
view.resize(1000,1600)
rows=range(3)
cols=range(3)
ar=0
for row in rows:
ac=0
for col in cols:
l2=l.addLayout()
p_res = l2.addPlot()
p_res.hideAxis('bottom')
l2.nextRow()
p_data = l2.addPlot()
p_res.plot([1,1,2,2,1,1])
p_data.plot([1,3,2,4,3,5])
ac=ac+1
l.nextColumn()
l.nextRow()
ar=ar+1
if __name__ == '__main__':
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
exporter = pg.exporters.ImageExporter(view.scene())
# save to file
exporter.export('fileName.png')
这段代码的输出如下:
这里我们看到 9 个图,横跨 3 行和 3 列。考虑到第 1 行和第 1 列的图,如何将顶部面板中的子图大小与下面板中的子图大小的比率更改为 1:3?
我遇到了同样的问题,在这里进行了很好的讨论和修复https://groups.google.com/forum/#!topic/pyqtgraph/aMaCMOrrrJg, or https://groups.google.com/forum/#!topic/pyqtgraph/RJjtJea9KFc
我的密码是
self.graphics_layout_widget = pg.GraphicsLayoutWidget() # contains a graphicsview
self.plot_holding_grid.addWidget(self.graphics_layout_widget, 0, 0, 1, 1)
self.graphics_layout_widget.setBackground('w')
upperplot = self.graphics_layout_widget.addPlot(0, 0, 1, 1)
plotpen = pg.mkPen(color='k', width=2)
upperplot.plot(first_time, first_record, pen=plotpen)
lowerplot = self.graphics_layout_widget.addPlot(1, 0, 1, 1)
# restrict size of plot areas
self.graphics_layout_widget.ci.layout.setRowStretchFactor(0, 4)
self.graphics_layout_widget.ci.layout.setRowStretchFactor(1, 1)