📜  PyQtGraph - 获取条形图的 X 和 Y 位置(1)

📅  最后修改于: 2023-12-03 14:45:51.719000             🧑  作者: Mango

PyQtGraph - 获取条形图的 X 和 Y 位置

PyQtGraph 是一个用于 Python 的科学绘图库,其主要优点是速度快、交互性好。在 PyQtGraph 中,创建条形图(Bar Graph)是一项相对容易的任务。本篇文章将介绍如何在 PyQtGraph 中获取条形图的 X 和 Y 位置。

准备工作

在开始之前,我们需要安装 PyQtGraph 库。可以使用 pip 命令进行安装:

pip install pyqtgraph
创建条形图

首先,让我们看一下如何创建一个简单的条形图:

import numpy as np
import pyqtgraph as pg
from pyqtgraph.Qt import QtGui

app = QtGui.QApplication([])
win = pg.GraphicsWindow()
plt = win.addPlot()
x = np.array([0, 1, 2, 3, 4, 5, 6])
y = np.array([5, 3, 1, 7, 6, 8, 3])
plt.plot(x, y, pen=None, symbol='o')

这段代码将创建一个窗口,然后在窗口中添加一个坐标系,并在坐标系中绘制一个带圆点的条形图。

获取条形图的 X 和 Y 位置

要获取条形图中任意一根条形的 X 和 Y 位置,只需要使用 pg.BarGraphItem 对象的 data 属性。例如,以下代码演示了如何获取条形图中第一根条形的 X 和 Y 位置:

bar_item = pg.BarGraphItem(x=[0], height=[5], width=0.5, brush='r')
plt.addItem(bar_item)
x, y = bar_item.data[0] # 获取第一根条形的 X 和 Y 位置
print('x:', x, 'y:', y)

上面的代码中,首先创建了一个只包含一根条形的 pg.BarGraphItem 对象,然后将其添加到了之前创建的坐标系中。最后,使用 bar_item.data[0] 可以获取这根条形的 X 和 Y 位置。

值得一提的是,pg.BarGraphItem 对象的 data 属性是一个 numpy 数组,其中每一行表示一根条形的 X 和 Y 位置。因此,bar_item.data[0] 返回的是一个包含两个元素的 numpy 数组,分别表示这根条形的 X 和 Y 位置。

总结

本篇文章介绍了如何在 PyQtGraph 中获取条形图的 X 和 Y 位置。通过使用 pg.BarGraphItem 对象的 data 属性,我们可以轻松地获取任意一根条形的 X 和 Y 位置。