Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > График |
Автор: Дося 4.4.2006, 22:38 |
Народ, как сделать график вручную, который бы брал значения из набора данных? ![]() Мне надо, чтобы по оси Х были значения времени, а по оси Y - значения измерений. Подскажите, с чего начать. Я никак не могу додуматься... Что писать в DBChart1->AddSeries... ? ![]() |
Автор: Дося 4.4.2006, 23:20 | ||
Попробовал такой код:
Как вместо двойки по оси Х дату отабразить? У меня дата берётся из ComboBox. |
Автор: AntonChik 5.4.2006, 08:28 |
в настройках оси Х ставится галочка ,что тип будет DateTime ну а потом пишешь ...Series[0]->AddXY(Time(),y); ну или если надо, то вместо Time() ставишь Date()... |
Автор: Дося 5.4.2006, 09:06 |
Хм... А если чуть-чуть точнее?... Я пишу DBChart19->Series[0]->AddXY(Date(CBDataNuo->Text),6); и выкидывает ошибку... Никак не получается вывести дату на ось. В настройках оси Х поставил галочку, что будет Date Time. А вообще большой будет код, если мне надо сделать, чтобы Х - это были значения дат из двух ComboBox (интервал задаётся с помощью ComboBox, например с 2006.01.01 до 2006.02.01), а Y - значения, соответствующие датам из набора данных? ![]() |
Автор: AntonChik 6.4.2006, 05:00 |
Date(CBDataNuo->Text) - это гон какой-то я тебе писал подставлять Date() , то бишь текущую дату (или лучше Time() т.к. более наглядно будет для примера). проверь будет ли так работать... потом попробуй подставлять StrToDate(CBDataNuo->Text); но это если CBDataNuo->Text соответствует по записи типу TDateTime , т.е. - не помню как для даты-,а для времени должно быть в виде HH:MM:SS (ну для даты думаю что-то вроде YY:MM:DD) |
Автор: megabist 6.4.2006, 15:38 |
вопрос а как пстроить график по разбросу? тоесть значения скачут и нужен усреднённый график? |
Автор: _hunter 6.4.2006, 15:58 |
посчитать средние значения и построить по ним график... |
Автор: Дося 13.4.2006, 21:58 | ||
Не идёт... ![]() ![]() ![]() |
Автор: Ctrl_Alt_Del 13.4.2006, 22:15 |
Дося, выложи проект. Посмотрим чем можно помочь. ![]() P.S. посмотри вложение, может поможет разобраться. |
Автор: Дося 13.4.2006, 22:48 |
Окей, сейчас выложу... Алиас базы данных - dbVibrDataStore. Драйвер - STANDART. Проект http://www.kalinka.projektas.lt/downloads/programa.rar. Форма с графиком будет Unit13.cpp. Мне надо, чтобы по оси X откладывались даты из CBDataNuo и CBDataIki (по-русски, CBДатаС и СВДатаДо),т.е. интервал, а по Y - значения, соответствующие этим датам из таблицы Table3... Вот... ![]() Спасибо огромное за ранее за помощь. P.S.: Твой пример не смог скомпилировать - просит какие-то файлы... |
Автор: Дося 14.4.2006, 23:17 |
Ну как? ![]() |
Автор: Ctrl_Alt_Del 15.4.2006, 09:16 |
Дося, да что-то не очень. Трудновато разобраться с языком ![]() Дата берется в поле data в lentMatavimai.db, а по оси Y значение какого поля? |
Автор: Дося 16.4.2006, 01:09 |
Sorry, chto pishu latyn'ju - netu russkih bukv na klave. ![]() Da, data beretsia iz polia Table3Data iz lentMatavimai.db. Po osi Y berutsia tak: naprimer, vybiraesh' iz ComboBox spiska (CBGuolis) podshipnik 1, iz ComboBox spiska (CBDataNuo) datu, v sledushem ComboBox (CBDataIki) druguju datu, i RadioButton RBV (eto napravlenie po-russki). ![]() |
Автор: Ctrl_Alt_Del 16.4.2006, 22:35 | ||
Дося, посмотри вот этот код, сырой конечно, но хоть что-то ![]() Вообще я не уверен, что я тебя правильно понял. ![]()
А вообще доработать нужно базу. А то многие поля пустые. |
Автор: Дося 16.4.2006, 23:28 |
Спасибо, что пытаешься помочь. ![]() ![]() |
Автор: Дося 25.5.2006, 22:04 | ||
![]() Народ, я вот делаю график и столкнулся вот с токой проблемой - график только чертит по двум значениям, пропускает промежуточные значения... В данном примере пропускает дату 2006.05.23. Вот код, которым пользуюсь:
Помогите плиз доделать... Заранее пасиба! |
Автор: Дося 26.5.2006, 12:11 | ||
Вот сделал немного по-другому - использую цикл, но мне теперь чертит все значения из таблицы. А как сделать, чтобы брал интервал значений, который я указываю с помощью ComboBox? Вот код:
|
Автор: Дося 26.5.2006, 14:21 | ||
Сделал, чтобы чертил с даты, выбранной в первом ComboBox'e "Nuo". Но чертит с нее до самой последней даты, а мне надо до даты, указанной во втором ComboBox'e "Iki". Никак не могу составить цикл while (...). Помогите, срочно нужно, неужели никто не знает? ![]() Код:
|
Автор: Дося 26.5.2006, 17:50 | ||
Как никак разобрался. Если кому-то понадобится, вот код:
Особое спасибо Ctrl_Alt_Del за помощь! Респект! ![]() |
Автор: dilik 26.5.2006, 19:32 |
Народ! У меня похожий вопрос, но значения я беру не из базы. Как создать анимирующий график на подобии встроенного в Builder примера Teechart. (примерно C:\Program Files\Borland\CBuilder6\Examples\Teechart). Интересует именно тип графика "Fast Line". Задача стоит следующим образом - есть 8 датчиков. Для каждого необходимо задать число от 1 до 12. Можно вручную вводить, можно генерировать. А затем по этим данным строить график - по X - время (в секундах например), а по Y - те самые сгенерированные числа от 1 до 12. Как это осуществить с помощью Chart? В примере все генерируется динамически, мне там разобраться с трудом. ![]() ПОДСКАЖИТЕ ПОЖАЛУЙСТА!!!! ![]() |
Автор: Дося 26.5.2006, 22:32 |
А где сохраняются данные датчиков? |
Автор: dilik 27.5.2006, 15:41 | ||
Сохраняется в базе ![]() Дело в том, что для того, чтобы брать данные из базы, необходимо их отсортировать или что там. В базе хранятся данные всех датчиков, каждый датчик отвечает за конкретный населенный пункт, а мне надо выводить график именно по каждому городу. Ну в принципе, отсортировать наверное не проблема. У меня тип string, т.е. к примеру находится запись "1 (Ялта)" и добавляется в базу нужная информация |