Название: График на QWTPlot c разрывами. Отправлено: jurtal от Сентябрь 25, 2009, 16:12 Если кто знает, пожалуйста подскажите, как нарисовать кривую на QWTPlot с разрывами. В сети только нашел,что можно маскирующий массив как-то задавать...
Название: Re: График на QWTPlot c разрывами. Отправлено: vfilatov от Январь 26, 2011, 15:26 Тоже заинтересовал этот вопрос...
Название: Re: График на QWTPlot c разрывами. Отправлено: alexman от Январь 26, 2011, 16:24 Попробуй void QwtPlotCurve::setPen (const QPen & pen ), задав нужный pen.
Название: Re: График на QWTPlot c разрывами. Отправлено: vfilatov от Январь 26, 2011, 16:33 Эээ, не понял, а какой - нужный? По-моему, Pen тут не причём.
Речь идёт о том, что для некоторых значений Х могут быть не известны соответствующие значения Y. Но в методе QwtPlotCurve::SetData невозможно это указать. Название: Re: График на QWTPlot c разрывами. Отправлено: Akon от Январь 26, 2011, 18:59 Да, тоже интересен вопрос по поводу разрывов. Работал с Qwt 5.2.0 - никаких маскирующих массивов там не обнаружил.
Пришел к выводу, что для точек разрыва нужно использовать спец. значение, напр. Nan, и патчить отрисовку, но не делал этого (устроило значение 0 для разрыва). Как вариант - можно завести вторую курву, у которой будет цвет фона. Значения этой курвы в интервале разрыва совпадают со значениями исходной курвы, вне интервала разрыва она стелется по горизонтальной оси. Т.о. визуально видится разрыв. Название: Re: График на QWTPlot c разрывами. Отправлено: vfilatov от Январь 26, 2011, 19:09 Значит приходится констатировать, что стандартных средств нет.
А как тебя "устроило значение 0 для разрыва"? Всё равно ж курва рисоваться будет от точки (x1, y1) в точку разрыва (x2, 0) и от неё в следующую точку (x3, y3). Название: Re: График на QWTPlot c разрывами. Отправлено: alexman от Январь 26, 2011, 21:54 Сорри за предыдущий пост! Не понял в чем дело сразу)
Так если хранить куски в разных QwtPlotCurve проблема решается? Название: Re: График на QWTPlot c разрывами. Отправлено: vfilatov от Январь 26, 2011, 23:33 Наверно решается. Но всё надо делать ручками, делить их, следить, чтобы на легенде лишние не появлялись, движения мыши над этими отдельными курвами правильно обрабатывать и т. д.
Название: Re: График на QWTPlot c разрывами. Отправлено: Akon от Январь 27, 2011, 00:06 А как тебя "устроило значение 0 для разрыва"? Всё равно ж курва рисоваться будет от точки (x1, y1) в точку разрыва (x2, 0) и от неё в следующую точку (x3, y3). Совершенно верно. Просто у меня разрывными были всякие там прямоугольные импульсы и для них я ставил стиль линии - вертикальное соединение. В нуле у меня был проложен маркер или индикатор (не помню как называетя, вообщем это линия, которая рисовалась поверх всех курв). В итоге, смотрелось все нормально. Так если хранить куски в разных QwtPlotCurve проблема решается? Возможно, могут быть проблемы с курвами, которые рисуются методом интерполяции (последовательные точки соединяются кривой, которая проходит еще и через соседние точки). Данный вариант - откровенный костыль, подходящий для простых случаев. Некоторые проблемы уже обозначены в посте выше. Грамотное решение - определять интервал разрыва в данных и патчить отрисовку. |