![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
В том то и вопрос, что глаз человека все равно не увидит 100к линий графика в квадрате 300x200. Как рисовать чтобы не тормозило уже разобрались, теперь осталось придумать как перерисовывать, не пробегая по огромному массиву и т.д. А выводить данные таким образом чтобы глаз человека видел ту же картину, но на самом деле мы ему рисуем не все данные, а скажем 2к, лишь бы картинка была похожей.
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 137
|
А в каком формате заданны данные? Это что, огромный, автоматически сгенерированный массив координат? Или математическая функция?
|
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
по сокету передаются данные (120 точек в секунду, в хормате, { day:"2011.03.23", time:"13:26", money:763 })
нужно рисовать линейный график, из одной точки в другую, шкала X это время, шкала Y это цена (money), максимум цены нам не известен, зато известна облость куда рисовать 300x200 Sprite. Если мы построили шкалу Y от 0 до 800$, а пришли данные где money = 902$, то мы расширяем шкалу от 0 до 1000, и старые данные что уже отрисованные, нужно показать исходя из, того что теперь шкала цены больше, а height тот же 200px но теперь это от 0 до 1000$ и старые данные нужно как бы сжать. Сжимая bitmap получается ужас |
|
|||||
|
я бы не морочился и сделал 2 контейнера. один для графика, другой для сетки/легенды/осей.
перерисовываем(если нужно) подложку, а графиком рулим на уровне scaleY контейнера согласно новому масштабу. как то так.
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Регистрация: Jan 2003
Адрес: Latvia, Riga
Сообщений: 161
|
Вот и я такой вариант начал делать, посмотрим что получится, пока ничего хорошего, при большом scaleY линии по цене 50-100 при шкале 5000 сжимаются в нечто прозрачное
Хотя вроде такое сойдет. Спасибо за библиотеку, выручила Последний раз редактировалось RaVeN-Nikma; 16.03.2011 в 20:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|