Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
ВнизКак заставить чарт отображать только последний час? Найти похожие ветки
← →
cvg (2007-12-11 16:23) [0]Собственно, сабж. По умолчанию он показывается весь (за сутки), а надо, чтоб только последний час. Как сделать? Наверное, что-нить типа Editing Chart/Chart/Axis ?
← →
Сергей М. © (2007-12-11 16:24) [1]Какие еще "сутки" в TChart ?
← →
cvg (2007-12-11 16:30) [2]Да нет, просто я коряво выразился -- про "сутки"...
← →
Сергей М. © (2007-12-11 16:36) [3]Как бы ты ни выразился, никаких "суток" в TChart нет - ни "за" ни "про".
Там есть серии - последовательности пар значений, определяющих точку на соотвуюем серии графике, который визуализирует компонент. Нет точки - нет и соответствующего участка графика.
← →
cvg (2007-12-11 16:39) [4]Ладно, уговорил, корректирую преамбулу: график просто показывается весь, с начала и до конца, а надо, чтоб только чисто последнийас. Как сделать?
← →
Сергей М. © (2007-12-11 16:42) [5]
> чисто последний
Чисто конкретно ?
Ну просто формируй серию только из тех точек, которые д.б. показаны на соотв.графике
← →
Kolan © (2007-12-11 16:42) [6]> Ладно, уговорил, корректирую преамбулу: график просто показывается
> весь, с начала и до конца, а надо, чтоб только чисто последнийас.
> Как сделать?
Все стереть и нарисовать 1 число.
← →
DiamondShark © (2007-12-11 16:43) [7]
> Как сделать?
Русский язык выучить.
А то с таким уровнем владения речью, да ещё с Сергей М. в собеседниках -- хлебнёшь горя.
← →
cvg (2007-12-11 16:50) [8]То Kolan: То есть, предложение единственное: искать и удалять те точки, которые остоят от текущего времени больше, чем на час?
← →
DiamondShark © (2007-12-11 16:53) [9]Почему единственное?
Вот ещё хорошее предложение: не создавать лишних точек. Тогда и удалять не придётся.
Но это всё гадание на кофейной гуще. Потому что только чёрт лысый знает, что там у тебя за точки, откуда берутся, и почему с ними такой конфуз приключился.
← →
Сергей М. © (2007-12-11 16:56) [10]
> cvg (11.12.07 16:50) [8]
> искать и удалять
Зачем это делать, если их можно просто не задавать изначально ?
Т.е формировать серию только из тех точек, которые относятся к интересующему тебя диапазону аргументов визуализируемой ф-ции ?
← →
Германн © (2007-12-11 17:00) [11]Опять кто-то не может справится с надыбанным где-то примером.
← →
Kolan © (2007-12-11 17:03) [12]> То Kolan: То есть, предложение единственное: искать и удалять
> те точки, которые остоят от текущего времени больше, чем
> на час?
Нет, вы забыли в сабже словоза последний
.
Хронить точки отдельно, а при необходимости чарт стирать и рисовать на нем нужное(в данном случае за последний час).
← →
cvg (2007-12-11 17:05) [13]Объясняю: чарт рисует 4 графика с частототй точка в секунду. Примерно через час точек в оперативной памяти набирается столько, что график ворочается уже с трудом. Поэтому есть простой смысл удалять из чарта все, что старше часа. Логично?
← →
Kesha (2007-12-11 17:07) [14]Label1.Caption:=FormatDateTime("hh, Time);
Отсюда разберись что тебе надо
← →
Kesha (2007-12-11 17:08) [15]
> Label1.Caption:=FormatDateTime("hh, Time);
Label1.Caption:=FormatDateTime("hh", Time);
← →
Virgo_Style © (2007-12-11 17:09) [16]Телепатирую: при достижении интервала в один час график стать как бы окном, скользящим по оси абсцисс. Например (вид оси абсцисс):
--10--> (t)
--10--20--> (t)
...
--10--20--30--40--50--> (t)
--10--20--30--40--50--60--> (t)
--20--30--40--50--60--70--> (t)
--30--40--50--60--70--80--> (t)
и так далее.
Сергей М. © (11.12.07 16:56) [10]
Т.е формировать серию только из тех точек, которые относятся к интересующему тебя диапазону аргументов визуализируемой ф-ции ?
По всей видимости, график не формируется в каждый момент заново, а просто добавляется новая точка, поэтому изначально формировать "как надо" не получится в принципе. Если только каждый раз выбрасывать все данные и потом "забивать" скорректированные. Что, imho, не очень красиво.
Наверняка Chart"у можно задать "логическую" (т.е. в единицах оси абсцисс) ширину отображаемого "окна", что, собственно, автору и нужно.
← →
DiamondShark © (2007-12-11 17:09) [17]
> cvg (11.12.07 17:05) [13]
> Объясняю:
Снизошёл-таки?
> Поэтому есть простой смысл удалять из чарта все, что старше
> часа
И даже больше. Потому что с частототй точка в секунду за час будет 3600 точек, каковое количество даже если и поместится на мониторе, столь детально юзером всё равно разглядываться не будет. у него и от сотни точек заворот мозгов случится.
← →
Kolan © (2007-12-11 17:10) [18]> Объясняю: чарт рисует 4 графика
Как время создания будете определять?
Не проше ли отталкиваться от количества точек?
При превышении опро кол-ва перед добавлением новой точки удаляйтепервую
. Эффект получится как на кардиограмме.
← →
Сергей М. © (2007-12-11 17:14) [19]
> точка в секунду
> есть простой смысл удалять из чарта все, что старше часа.
> Логично?
Час = 3600 секунд.
Значит, в серии, визуализирующей данные последнего часа, у тебя должно быть не более 3600 точек.
Всякий раз перед добавлением в серию очередной точки проверяй, не превысит ли при этом серия длину 3600. Если да, то перед добавлением удали самый первый элемент серии.
← →
Virgo_Style © (2007-12-11 17:17) [20]cvg (11.12.07 17:05) [13]
тогда, если проблема не в отображении, а в самом существовании этих точек, то в предыдущем моем сообщении все, что после Сергей М. к данной задаче не относится.
← →
cvg (2007-12-11 17:21) [21]Честно говоря, иногда нескоторые секунды могут и просткакивать. А определять время их появления можно примерно так:
if compareTime(Chart2.SeriesList[n].XValues[i],_time) < 1
То есть, в настройках ничего подобного тому, что так проницательно телепатировал Virgo_Style, нет?
← →
cvg (2007-12-11 17:23) [22]Tj Virgo_Style:
Нет, все наоборот было очень складно изложено.
← →
Kolan © (2007-12-11 17:45) [23]> столь детально юзером всё равно разглядываться не будет
Не забывай, там можно увеличивать, так что разница есть.
← →
cvg (2007-12-11 17:49) [24]А если удалять промежуточные точки -- так это еще больше мороки (график-то чай, не квадраты рисует, а загогулины).
← →
Kolan © (2007-12-11 18:00) [25]> [24] cvg (11.12.07 17:49)
Что вам надо, объясните?
Ответ прозвучал в
[18] Kolan © (11.12.07 17:10)
и
[19] Сергей М. © (11.12.07 17:14)
← →
cvg (2007-12-11 18:06) [26]ОК
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.007 c