Как включить/заменить вторичное окно просмотраplotWidget для прослушивания событий мыши в области графика?Python

Программы на Python
Ответить
Anonymous
 Как включить/заменить вторичное окно просмотраplotWidget для прослушивания событий мыши в области графика?

Сообщение Anonymous »

У меня есть PlotWidget, в котором показано несколько элементовplotDataItems. Я пытаюсь изолировать один или несколько графиков, разместить их вверх или вниз на графике и использовать мышь для масштабирования и масштабирования области графика, как я это делаю с «основной группой» графиков.
Я попробовал создать новое окно просмотра и добавить его в виджет графика mainGraph после нажатия кнопки, и это сработало. Но события мыши, похоже, улавливаются ТОЛЬКО в области построения в основном окне просмотра. Я знаю, что могу масштабировать этот график по оси Y, используя колесо по новой оси, но не по области графика. В этом и заключается проблема.
Это метод подключения кнопок, который я использую для создания и привязки нового окна просмотра к mainGraph:

Код: Выделить всё

    def rePlotChannelWithAxisRight(self, channel):
## create a new ViewBox, link the right axis to its coordinate system
self.p1 = self.mainGraph.getPlotItem()
self.p2 = pg.ViewBox()
self.p1.showAxis('right')
self.p1.scene().addItem(self.p2)
self.p1.getAxis('right').linkToView(self.p2)
self.p2.setXLink(self.p1)
self.p1.getAxis('right').setLabel('axis2', color='#0000ff')
self.updateViews()
self.p1.vb.sigResized.connect(self.updateViews)

# Remove plot from mainGraph
self.mainGraph.removeItem(self.graphPlots[channel.ID])
# Add plot to secondary viewbox
self.p2.addItem(self.graphPlots[channel.ID])

def updateViews(self):
## view has resized; update auxiliary views to match
self.p2.setGeometry(self.p1.vb.sceneBoundingRect())

self.p2.linkedViewChanged(self.p1.vb, self.p2.XAxis)
Пожалуйста, мы будем очень признательны за любое решение.
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/791 ... nts-in-plo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»