LinearRegionItem в Pyqtgraph

У меня есть 4 PlotWidgets (с использованием pyqtgraph как pg), созданные как:

for i in range(4):
    myPlot[i] = pg.PlotWidget(myWindow);

В каждом PlotWidget я хочу разделить ось X на несколько областей одинаковой ширины (RegionWidth). Следовательно, у меня есть M = диапазон оси x/область ширины. Поэтому я инициализирую линии выбора региона как:

for i in range(4):
    for j in range(M):
        ROI[i][j] = pg.LinearRegionItem()
        ROI[i][j].setZValue(-10)
        myPlot[i].addItem(ROI[i][j])
        ROI[i][j].setRegion([xmin + j*RegionWidth, xmin +((j+1)*RegionWidth)-1])

Проблема: Когда я хочу удалить и очистить эти регионы, я не могу! Я старался:

for i in range(4):
    for j in range(M):
        myPlot[i].removeItem(ROI[i][j])

Он очищает только регионы в четвертом PlotWidget. Я хочу удалить/очистить четыре графика из этих областей, не затрагивая другие элементы в PlotWidget.


person Tito    schedule 12.08.2013    source источник
comment
Код, который вы разместили, работает, как и ожидалось для меня. Пожалуйста, опубликуйте полный пример кода.   -  person Luke    schedule 12.08.2013
comment
Оно делает. Это была ошибка плохого отступа. Мне понадобилось 3 дня, чтобы понять это. Спасибо   -  person Tito    schedule 13.08.2013
comment
В этом случае подумайте о закрытии вопроса.   -  person Luke    schedule 13.08.2013


Ответы (1)


Этот код работает хорошо. Это была ошибка плохого отступа.

person Tito    schedule 13.08.2013