Russian Qt Forum
Ноябрь 22, 2024, 23:55
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Масштаб графиков
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Масштаб графиков (Прочитано 5583 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Масштаб графиков
«
:
Март 03, 2018, 06:14 »
Добрый день
N графиков рисуются в одном окне, рядом список рисуемых, юзер может его менять. Также показываются шкалы времени и значений. Графики могут иметь совершенно разный диапазон значений, поэтому в списке юзер может присвоить каждому свой масштаб по Y. Напр задал 2, все значения этого графика умножаются на 2 при отрисовке, чтобы он стал соразмеримым с другими.
Проблема: а что показывать в шкале значений если один или более графиков имеют масштаб != 1 ? Вот был бы 1 график - проблемы нет, показывать "истинные" значения, и все дела. А так что? Ну или как-то намекнуть, что, мол, значения масштабленные. Не уверен что здесь вообще есть решения.
Спасибо
Записан
ssoft
Программист
Offline
Сообщений: 584
Re: Масштаб графиков
«
Ответ #1 :
Март 05, 2018, 08:29 »
Обычно отображают условные единицы, а в легенде указывают масштабный коэффициент и единицы измерения.
Если планируется использовать разные шкалы, например, обычную и логарифмическую, то ось y располагают с двух сторон.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Масштаб графиков
«
Ответ #2 :
Март 06, 2018, 11:45 »
Цитата: ssoft от Март 05, 2018, 08:29
Обычно отображают условные единицы, а в легенде указывают масштабный коэффициент и единицы измерения.
Если планируется использовать разные шкалы, например, обычную и логарифмическую, то ось y располагают с двух сторон.
Разумно, но не вижу как применить к моему случаю. Какие графики показывать - целиком дело юзера. Досадно что в большинстве случаев активен 1 график, остальные "в фоне" или вообще не рисуются. Если активный имеет масштаб != 1 то шкала "не соответствует"
Ну наверное "ларчик просто "не открывался"
, т.е. объективно нет решения
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Масштаб графиков
«
Ответ #3 :
Март 06, 2018, 13:05 »
ну а почему бы не показывать только шкалу того графика, который "активен"?
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Масштаб графиков
«
Ответ #4 :
Март 07, 2018, 08:19 »
Цитата: Racheengel от Март 06, 2018, 13:05
ну а почему бы не показывать только шкалу того графика, который "активен"?
Тогда что делать если активируется еще один? Менять шкалу - под какой? А если оставить для первого - то при активации в обратном порядке несоответствие
Записан
ssoft
Программист
Offline
Сообщений: 584
Re: Масштаб графиков
«
Ответ #5 :
Март 07, 2018, 09:57 »
Цитата: Igors от Март 06, 2018, 11:45
Разумно, но не вижу как применить к моему случаю. Какие графики показывать - целиком дело юзера. Досадно что в большинстве случаев активен 1 график, остальные "в фоне" или вообще не рисуются. Если активный имеет масштаб != 1 то шкала "не соответствует"
Ну наверное "ларчик просто "не открывался"
, т.е. объективно нет решения
А я не вижу как не применить))).
Либо способ применения не весь описан (для чего пользователю эти графики - информативные, средства управления и т.п.; какую задачу для пользователя решают и т.д.).
Пусть есть условная шкала от -10 до 10, диапазон можно выбрать любой.
Графики автоматически масштабируем по принципу ... x1/10, x1/5, x1/2, x1, x2, x5, x10, x20, x50 ..., чтобы в отображаемый диапазон влезли.
Пользователь может флажки видимости выставлять, менять цвета, типы линий и т.п.
Потом для красоты можно еще и вписать в границы. То есть если мы выбрали условный диапазон -10, 10, а все графики получились, например, в диапазоне -0.93 до 6.59, то можно отобразить только значимую область от -1 до 7.
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Масштаб графиков
«
Ответ #6 :
Март 07, 2018, 11:57 »
Цитата: Igors от Март 07, 2018, 08:19
Цитата: Racheengel от Март 06, 2018, 13:05
ну а почему бы не показывать только шкалу того графика, который "активен"?
Тогда что делать если активируется еще один? Менять шкалу - под какой? А если оставить для первого - то при активации в обратном порядке несоответствие
Вторую шкалу дорисовать, другим цветом. Обычная практика вроде бы
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Масштаб графиков
«
Ответ #7 :
Март 08, 2018, 08:54 »
Цитата: ssoft от Март 07, 2018, 09:57
А я не вижу как не применить))).
Либо способ применения не весь описан (для чего пользователю эти графики - информативные, средства управления и т.п.; какую задачу для пользователя решают и т.д.).
Все очень банально. Ось X - всегда время, ось Y - значение. Напр движение объекта в пр-ве может быть представлено 3 графиками x, y, z. Их соразмеримость обычно важна, вписывать каждый не годится. Теперь напр юзер добавил еще и график вращения (в градусах), и очень может быть что он показывается практически горизонтальной линией, если его диапазон значений намного меньше. Остается дать юзеру возможность самому задать масштаб для каждого.
Цитата: Racheengel от Март 07, 2018, 11:57
Вторую шкалу дорисовать, другим цветом. Обычная практика вроде бы
И для третьего графика...
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Масштаб графиков
«
Ответ #8 :
Март 08, 2018, 10:17 »
Для третьего - еще одну шкалу)
Альтернатива: как только больше 2 графиков, спрятать все шкалы и показывать только ту, по чьей легенде кликнул юзер.
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...