Russian Qt Forum
Ноябрь 22, 2024, 06:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qwt. Несколько yAxis на QwtPlot  (Прочитано 9147 раз)
climber
Гость
« : Июль 01, 2011, 12:17 »

День добрый!

Столкнулся с проблемой. Я рисую несколько графиков на одном QwtPlot. Мне нужно отображать для каждой кривой свою ось Y. Эта ось должна распологаться не на canvas а в области QwtPlot axisWiddget(QwtPlot::yLeft). Пока все что удалось найти в интернете это рекомендуют использовать QwtPlotScaleItem таким вот образом:

Код:
setAxisScale( QwtPlot::yLeft, -1.0, 1.0 );
QwtPlotScaleItem * scale1 = new QwtPlotScaleItem( QwtScaleDraw::RightScale );
scale1->setBorderDistance( 30 );
scale1->setScaleDiv( axisScaleEngine( QwtPlot::yLeft)->divideScale(-1.0, 1.0, 5, 5) );
scale1->attach( this );


Но при таком раскладе получается что ось разместится на canvas а не в axisWidget(QwtPlot::yLeft). Поясню почему не устраивает такой вариант. Мне нужно строить до 12, возможно и больше графиков одновременно. Если размещать оси в канвасе то это будет не удобно, не красиво и не наглядно. Хочется, чтобы оси были слева от графика. Пока из соображений есть только вот что: axisWidget(QwtPlot::yLeft)->layout()->addWidget(QWidget *) таким образом могу добавлять любой виджет в axisWidget(QwtPlot::yLeft). Добавлял туда кнопки - все работает и отображается. Пытался привести QwtPlotScaleItem * scale1 = new QwtPlotScaleItem( QwtScaleDraw::RightScale ); к типу QWidget*, но ничего не получилось.

Если кто сталкивался с подобной проблемой или знает как ее решить или мучается с такой же бедой, то давайте обсудим этот вопрос. Кто как его решал?
Записан
Ubuntu_linux
Гость
« Ответ #1 : Июль 02, 2011, 16:41 »

 может посмотреть в сторону ява скрипт?
Записан
climber
Гость
« Ответ #2 : Июль 04, 2011, 14:21 »

Тут дело вот в чем. 1 - я не знаю яву. 2 - хочется решить эту проблему мощностями Qwt, поскольку эти оси добавляются, масштабируются, перемещаются из основного Qt-шного приложения, куда Qwt прилеплено в качестве рисовалки.
Записан
Ubuntu_linux
Гость
« Ответ #3 : Июль 14, 2011, 01:41 »

Тут дело вот в чем. 1 - я не знаю яву. 2 - хочется решить эту проблему мощностями Qwt, поскольку эти оси добавляются, масштабируются, перемещаются из основного Qt-шного приложения, куда Qwt прилеплено в качестве рисовалки.
Ну так можно у webkit загрузить страничку с графиками на jqplot причем в яваскрипт просче все это реализовать. И точно будет кросплатформенно, хоть на мобилке смотри Улыбающийся
Записан
climber
Гость
« Ответ #4 : Июль 15, 2011, 10:37 »

Это очень большой промышленный проект, графики в котором строятся именно в QWT. Сейчас что то менять или переписывать не вижу смысла, поскольку задача эта не критична, а трудозатраты на переделывание слишком велики. Для меня проще саму библиотеку QWT заставить ставить оси там где надо =), чем осваивать яву.
Записан
Dunkan
Новичок

Offline Offline

Сообщений: 5


Просмотр профиля
« Ответ #5 : Февраль 12, 2019, 09:53 »

Это очень большой промышленный проект, графики в котором строятся именно в QWT. Сейчас что то менять или переписывать не вижу смысла, поскольку задача эта не критична, а трудозатраты на переделывание слишком велики. Для меня проще саму библиотеку QWT заставить ставить оси там где надо =), чем осваивать яву.

Добрый день! Как решили данный вопрос?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #6 : Февраль 12, 2019, 11:27 »

У QWT в репозитории есть отдельный бранч 'multiaxes' где возможно добавить кучу осей на один график. Вот его и надо брать.
Записан

ArchLinux x86_64 / Win10 64 bit
Dunkan
Новичок

Offline Offline

Сообщений: 5


Просмотр профиля
« Ответ #7 : Февраль 12, 2019, 12:31 »

У QWT в репозитории есть отдельный бранч 'multiaxes' где возможно добавить кучу осей на один график. Вот его и надо брать.
Благодарю! Буду пробовать  Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 22.