Я не совсем понимаю, какую визуализацию вы имеете в виду, но вот несколько вариантов для маркировки выбранных вами точек:
- Используйте один экземпляр
pg.VTickGroup
для рисования тиков вдоль оси x - Используйте множество экземпляров
pg.InfiniteLine
для рисования линий и других маркирующих фигур
Пример:
import pyqtgraph as pg
import numpy as np
plt = pg.plot()
y = [50, 100, 50, 250, 150]
x = [1, 5, 87, 92, 106]
b = [False, False, True, False, True]
# draw a scatter plot with selected points in yellow
cmap = {False: (0, 0, 200), True: (255, 255, 0)}
brushes = [pg.mkBrush(cmap[x]) for x in b]
plt.plot(x, y, pen=None, symbol='o', symbolBrush=brushes)
# draw vertical ticks marking the position of selected points
tick_x = np.array(x)[b]
ticks = pg.VTickGroup(tick_x, yrange=[0, 0.1], pen={'color': 'w', 'width': 5})
plt.addItem(ticks)
# add a vertical line with marker at the bottom for each selected point
for tx in tick_x:
l = plt.addLine(x=tx, pen=(50, 150, 50), markers=[('^', 0, 10)])