📅  最后修改于: 2023-12-03 15:33:55.173000             🧑  作者: Mango
PyQtGraph是一个使用Python编写的交互式绘图库,主要面向科学、工程和数据分析领域。它的特点是界面清晰、快速、高效、易用。
本文将介绍如何在PyQtGraph中添加条形图的鼠标释放事件,实现交互功能。具体实现方法如下。
import sys
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
app = QApplication(sys.argv)
win = QMainWindow()
win.setWindowTitle('PyQtGraph - Bar Chart')
win.setGeometry(100, 100, 600, 400)
data = [1, 3, 5, 7, 9]
labels = ['A', 'B', 'C', 'D', 'E']
x = range(len(data))
bar = pg.BarGraphItem(x=x, height=data, width=0.8, brush='r')
bar.setOpts(xLabels=labels, yRange=[0, max(data)*1.5], title='Bar Chart')
win.setCentralWidget(pg.GraphicsLayoutWidget())
win.centralWidget().addItem(bar)
def mouse_release(event):
pos = event.scenePos()
index = int(pos.x())
if index in x:
value = data[index]
print('Clicked on bar [{}], value = {}'.format(index, value))
win.centralWidget().scene().sigMouseClicked.connect(mouse_release)
win.show()
sys.exit(app.exec_())
import sys
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
app = QApplication(sys.argv)
win = QMainWindow()
win.setWindowTitle('PyQtGraph - Bar Chart')
win.setGeometry(100, 100, 600, 400)
data = [1, 3, 5, 7, 9]
labels = ['A', 'B', 'C', 'D', 'E']
x = range(len(data))
bar = pg.BarGraphItem(x=x, height=data, width=0.8, brush='r')
bar.setOpts(xLabels=labels, yRange=[0, max(data)*1.5], title='Bar Chart')
win.setCentralWidget(pg.GraphicsLayoutWidget())
win.centralWidget().addItem(bar)
def mouse_release(event):
pos = event.scenePos()
index = int(pos.x())
if index in x:
value = data[index]
print('Clicked on bar [{}], value = {}'.format(index, value))
win.centralWidget().scene().sigMouseClicked.connect(mouse_release)
win.show()
sys.exit(app.exec_())
本文介绍了如何在PyQtGraph中添加条形图的鼠标释放事件。通过本文的例子,您可以了解如何使用PyQtGraph来创建条形图,并在图形上添加交互功能。PyQtGraph具有清晰的界面、快速、高效和易用的特点,是Python绘图库中的一款优秀的选择。