Добрый день!
Давно мучаюсь, решил оформить в пост:
Если для осей графика убрать галочку "Автоматический диапазон", то при отрисовке каждой свечи график дергается, а затем масштабирование, которое было на графике сбивается и показывается ровно то количество свечей, которое указано в свойстве ChartPanel.MinimumRange (по умолчанию 50). Таким образом становится невозможным смотреть на крупный или мелкий масштабы графика, так как при каждой новой свечке график "прыгает" и растягивается ровно на определенное количество свечей. Например если поставить ChartPanel.MinimumRange = 1 при каждой новой свечке вы будете видеть только одну свечку, как бы вы график не растягивали/сжимали.
Прикрепляю видео того, как это выглядит.
Дополнительная информация, которая возможно будет полезна:
- За "Автоматический диапазон" осей отвечает свойство ChartAxis.AutoRange в объектах ChartArea.XAxises и ChartArea.YAxises. Т.е. я ставлю в коде для всех осей AutoRange = false
- У меня несколько осей Y в одной ChartPanel.ChartArea, на которых рисуются данные индикаторов, в том числе дополнительные свечи. В видео это не показано, но возможно это на что-то влияет.
Насколько я понимаю такое поведение ненормально и хотелось бы чтобы график не "прыгал", а оставался в том масштабе, на который он растянут мышкой.
Kommentare (13)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Добрый день, благодарю за подробное описание проблемы. Чтобы ее решить, попрошу вас подготовить короткий пример, воспроизводящий данную ошибку, что позволит нам быстрее приступить к ее решению. Лучше всего будет, если вы возьмете наш SampleCharts и на его основе сделаете версию графика, иллюстрирующую "прыжки" масштаба.
Добрый день! Я попробую сделать тестовый проект к концу следующей недели. Хотелось бы уточнить, вы предлагаете взять за основу SampleCharts, однако там построение свечей идет в цикле по истории, а эффект дергания происходит именно при онлайн соединении. Соответственно у меня вопросы:
Добрый день, давайте начнем с тестового проекта где будет воссоздана ошибка. Мы изучим этот вопрос и заодно проверим п.2
Юрий, добрый день!
Тестовый проект на базе вашего SampleCharts прилагается, как и новое видео, снятое при работе тестового проекта. Что изменено в вашем тестовом проекте:
Что в итоге получилось (видео наверное стоит посмотреть медленно):
PS В дополнение (не связано с дерганием): попробуйте нарисовать на графике штук 100 серий боксовых или профильных свечей, допустим минутки за неделю. Вы увидите как всё безбожно тормозит при отрисовке каждой новой свечки. Т.е. создается ощущения что процесс рендеринга каждой новой свечки как-то влияет на перерисовку всего графика от начала до конца и чем больше данных тем всё медленнее работает.
UPDATE:
Записал видео с подробными комментариями ко всем видам "прыжков" графика, которые происходят у меня в проекте.
Ок, спасибо, принято. В ближайшие дни постараюсь дать обратную связь.
Прошел месяц. Up (последний раз).
Добрый день, задача принята. К сожалению подсказать сроки решения я сейчас не могу. Могу только обозначить, что на текущий момент она пока не в приоритете.
Спасибо за ответы.
Вопрос по поводу ChartPanel.MinimumRange: