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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qwt. Подпись данных в QwtPlotMultiBarChart  (Прочитано 3830 раз)
Hirurg
Гость
« : Апрель 15, 2019, 19:06 »

Здравствуйте! Для одной учебной программки нужно построить гистограммы. Для этой цели использовал QwtPlotMultiBarChart, но так и не понял как сделать адекватные подписи по оси X. Скриншот с примером во вложении. Хотелось бы чтобы под каждой группой были подписи к какому месяцу относятся данные.
Подскажите, пожалуйста, как изменить этот параметр?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Апрель 17, 2019, 07:52 »

Стоит выложить фрагмент текущего кода, где ты задаёшь подписи к оси Х, который в результате даёт то, что на скриншоте.
Записан

Юра.
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Апрель 17, 2019, 10:21 »

У меня есть проект с QwtPlotBarChart. Я наследовался от QwtScaleDraw и переопределял QwtText label(double value) const
В сам барчарт передавал объект наследника через setAxisScaleDraw(xBottom, scaleDraw_);
Также понадобилось, чтобы тики на шкале соответствовали колонкам и были пронумерованы от 0.

Код
C++ (Qt)
   int intervalMaximum = model_->columnCount() - 1;
   QwtScaleDiv scaleDiv(0, intervalMaximum - 1);
   QList<double> ticks;
   for (int i = 0; i < intervalMaximum; ++i){
       ticks << i;
   }
 
   scaleDiv.setTicks(QwtScaleDiv::MajorTick, ticks);
   setAxisScaleDiv(xBottom, scaleDiv);
 
Т.о. в QwtScaleDraw::label(double value) const будут приходить в качестве value id колонки
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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