кто-то работал с qcustomplot ? |
Здравствуйте, гость ( Вход | Регистрация )
кто-то работал с qcustomplot ? |
_Vitaliy_ |
27.8.2014, 19:05
Сообщение
#1
|
Студент Группа: Участник Сообщений: 59 Регистрация: 20.11.2008 Пользователь №: 428 Спасибо сказали: 3 раз(а) Репутация: 0 |
Если да, то откликнитесь, есть несколько вопросов...
|
|
|
Steklova Olga |
28.8.2014, 9:23
Сообщение
#2
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Да, приходилось немного...
|
|
|
_Vitaliy_ |
28.8.2014, 11:13
Сообщение
#3
|
Студент Группа: Участник Сообщений: 59 Регистрация: 20.11.2008 Пользователь №: 428 Спасибо сказали: 3 раз(а) Репутация: 0 |
Да, приходилось немного... Это замечательно. Есть несколько графиков (порядка 10) на "плоскости", необходимо реализовать возможность выбора каждого отдельного графика. Сделано через:
Реализовать ограничение перемещения по оси OX. Сделано через:
Необходимо реализовать: 1. Возможность перемещения произвольного графика по оси OY (остальные графики неподвижны). 2. Первоначально, при отображении графиков, значения на оси OY отсутствуют, при выборе графика, появляется его ось OY со значениями в масштабе выбранного графика. При снятии выделения графика, значения по оси OY пропадают. Для пояснения прикладываю изображение (в аттаче). Сообщение отредактировал _Vitaliy_ - 28.8.2014, 11:14 |
|
|
Steklova Olga |
28.8.2014, 20:08
Сообщение
#4
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
При перемещении произвольного графика по оси OY значения оцифровки этого графика не должны меняться?
То есть, если у этого графика были значения в диапазоне 100...400, то при перемещении этого графика вверх или вниз этот диапазон сохраняется на оцифровке? А это не забыл?
Мне не приходилось решать такую задачу. Может лучше поискать ответ на родном форуме qcustomplot? Смотри тут |
|
|
_Vitaliy_ |
28.8.2014, 20:31
Сообщение
#5
|
Студент Группа: Участник Сообщений: 59 Регистрация: 20.11.2008 Пользователь №: 428 Спасибо сказали: 3 раз(а) Репутация: 0 |
Начинаем с простого...
Необходимо реализовать: 1. Возможность перемещения произвольного графика по оси OY (остальные графики неподвижны). Давайте сначала попробуем "победить" 1-й пункт. Цитата То есть, если у этого графика были значения в диапазоне 100...400, то при перемещении этого графика вверх или вниз этот диапазон сохраняется на оцифровке? да, диапазон должен быть сохранен. Цитата Может лучше поискать ответ на родном форуме qcustomplot? был я там, но до конца тема (моя) не раскрыта (т.е. попробуйте вот-так или так и т.д. но рабочего куска кода я не нашел)...
|
|
|
Steklova Olga |
29.8.2014, 11:04
Сообщение
#6
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
А как ты рисуешь несколько графиков на одном customPlot? Так?
Если у одного графика значения в диапазоне 100...400 и у другого графика значения в диапазоне 100...400, а рисуешь ты их друг на другом, то по оси OY на самом деле у них разная оцифровка, не так ли? Например, у первого 0+100...0+400, у второго 500+100...500+400. попробуйте вот-так или так и т.д. но рабочего куска кода я не нашел вот и пробуй |
|
|
_Vitaliy_ |
29.8.2014, 11:45
Сообщение
#7
|
Студент Группа: Участник Сообщений: 59 Регистрация: 20.11.2008 Пользователь №: 428 Спасибо сказали: 3 раз(а) Репутация: 0 |
Рисую стандартно:
З.Ы. Попробую как Вы предложили... Попробовал как Вы предложили, эффект тот-же. Получается что какой график идет первым, тот и является "основным", потому что при выборе второго графика все-равно перемещается первый... Наверное нужно каким-то образом при выборе второго графика сделать его основным, но я пока это к сожалению не победил... |
|
|
Steklova Olga |
29.8.2014, 12:16
Сообщение
#8
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Цитата То есть, если у этого графика были значения в диапазоне 100...400, то при перемещении этого графика вверх или вниз этот диапазон сохраняется на оцифровке? да, диапазон должен быть сохранен. Смотрю на твои картинки. У синего графика оцифровка -150...-50. Над ним красный с диапазоном 100...300. Если ты переместишь синий график выше красного, то у синего все равно должна остаться оцифровка -150...-50? Ты зачем-то указываешь для первого графика customPlot->xAxis, customPlot->yAxis, для второго customPlot->xAxis2, customPlot->yAxis2. Но на картинке у тебя больше двух графиков. (xAxis, yAxis) - это оцифровка слева, (xAxis2, yAxis2) - справа. Судя по картинке, тебе надо, чтобы у всех графиков была оцифровка слева. Сообщение отредактировал Steklova Olga - 29.8.2014, 12:40 |
|
|
Steklova Olga |
29.8.2014, 13:15
Сообщение
#9
|
Участник Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: 4 |
Получается что какой график идет первым, тот и является "основным", потому что при выборе второго графика все-равно перемещается первый... Ты не прав. Это у тебя не первый график перемещается. У первого графика значения точек-то не изменяются, они сохраняются, график как-бы нарисован на области customPlot'а. А прокручивается сама область customPlot'а с теми графиками, у которых указано customPlot->xAxis, customPlot->yAxis. Если ты для нескольких графиков укажешь customPlot->xAxis, customPlot->yAxis, то область customPlot'а будет прокручиваться со всеми этими графиками. А вот если тебе надо, чтобы график именно двигался относительно области customPlot'а, то это совсем другое дело. Вместо надо писать так:
Сообщение отредактировал Steklova Olga - 29.8.2014, 13:16 |
|
|
_Vitaliy_ |
29.8.2014, 13:39
Сообщение
#10
|
Студент Группа: Участник Сообщений: 59 Регистрация: 20.11.2008 Пользователь №: 428 Спасибо сказали: 3 раз(а) Репутация: 0 |
Цитата А прокручивается сама область customPlot'а с теми графиками, у которых указано customPlot->xAxis, customPlot->yAxis. Если ты для нескольких графиков укажешь customPlot->xAxis, customPlot->yAxis, то область customPlot'а будет прокручиваться со всеми этими графиками. Я с Вами абсолютно согласен, но мне нужно чтобы эти графики двигались по оси ОУ независимо. Т.е. при первом отображении формы все графики должны быть "завязаны" в конструкторе на оси xAxis и yAxis и мы можем масштабировать все графики синхронно. При выборе графика №1, график №2 нужно переназначить на оси xAxis2 и yAxis2 и наоборот при выборе график №2 переназначить на xAxis и yAxis, а график №1 на xAxis2 и yAxis2 чтобы №1 был неподвижен а №2 можно было перемещать или я заблуждаюсь? Сообщение отредактировал _Vitaliy_ - 29.8.2014, 13:47 |
|
|
Текстовая версия | Сейчас: 1.12.2024, 8:57 |