python pyqtgraph 如何在同一张曲线图中,让左右Y轴独立绘图,公用一个X轴
时间: 2024-10-16 22:05:38 浏览: 63
Python matplotlib 绘制双Y轴曲线图的示例代码
5星 · 资源好评率100%
在PyQtGraph中,如果你想在同一张图表上创建两个独立的Y轴,但是共享同一个X轴,你可以使用`PlotWidget`的`addPlot()`函数以及其子类`AxisItem`来实现。以下是步骤:
1. 首先,你需要创建一个`PlotWidget`实例,并添加到窗口布局中:
```python
from PyQt5.QtWidgets import QApplication, QWidget
from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph as pg
app = QApplication([])
win = QWidget()
layout = QtGui.QVBoxLayout(win)
plot_widget = pg.PlotWidget(layout=layout)
```
2. 然后,使用`addPlot()`创建两个子区域,每个区域都有一个单独的Y轴,但共用X轴:
```python
# 创建第一个区域并设置左Y轴
left_axis = plot_widget.addPlot(title='左Y轴')
left_axis.setLabel('bottom', '左Y轴')
# 创建第二个区域并设置右Y轴
right_axis = plot_widget.addPlot(title='右Y轴', axisItems={'bottom': left_axis.axis('bottom')})
right_axis.setLabel('bottom', '右Y轴')
```
这里的关键在于`axisItems={'bottom': left_axis.axis('bottom')}`,这告诉`right_axis`它应该共享`left_axis`的底部(X)轴。
现在,你可以在`left_axis`和`right_axis`上分别绘制数据,它们会共享相同的X坐标系。
如果你有具体的例子或者数据想要展示,可以告诉我,我可以提供更详细的代码示例。
阅读全文