Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
6-1177322028
Ypbi4
2007-04-23 13:53
2008.01.13
ClientSocket -- получение ответа на запрос


15-1197121001
тестмессаге
2007-12-08 16:36
2008.01.13
Что не хватает файлу от ФоксПро?


15-1196933701
Kostafey
2007-12-06 12:35
2008.01.13
Тестирование Web - приложений


2-1197462986
altatr
2007-12-12 15:36
2008.01.13
Отключить проверку заглавных букв


2-1197573823
pathfinder
2007-12-13 22:23
2008.01.13
Обмен данными между процессами.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский