2014-11-24 46 views
0

经与PyQtGraph一个简单的图形布局,其中图的x轴被连接在一起,并显示在网格中两条曲线,以及:PyQtGraph网格联轴

from pyqtgraph.Qt import QtGui, QtCore            
import pyqtgraph as pg                

app = QtGui.QApplication([])               
view = pg.GraphicsView()                
l = pg.GraphicsLayout()                
view.setCentralItem(l)                
view.show()                   
view.resize(800,600)                 

p0 = l.addPlot(0, 0)                 
p0.showGrid(x = True, y = True, alpha = 0.3)           
#p0.hideAxis('bottom')                
p1 = l.addPlot(1, 0)                 
p1.showGrid(x = True, y = True, alpha = 0.3)           

p1.setXLink(p0)                  

l.layout.setSpacing(0.)                
l.setContentsMargins(0., 0., 0., 0.)             

if __name__ == '__main__':               
    import sys                  
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):   
     QtGui.QApplication.instance().exec_() 

enter image description here

如果我隐藏在第一条曲线(取消注释中的代码p0.hideAxis('bottom')线),则轴将不复存在x轴,但网格会消失得:

enter image description here

我怎么能强迫它留在那里?由于两个x轴都连接在一起,我认为这是可能的(上图中的网格可以从下图的x轴中获取)。

回答

3

而不是隐藏轴,请尝试axis.setStyle(showValues=False)

(这可能仅仅是在开发分支提供)

+0

它的伟大工程,但使用'showValues时= FALSE'分开的AxisItem和视框行仍然存在。有没有办法像'hideAxis'被使用一样摆脱它? – Peque 2014-11-24 12:34:31

+0

谢谢...其他人试图让这个工作,你将需要隐藏标签,以及'axis.showLabel(False)' – 2016-11-15 07:43:07