bitanga |
Отправлено: 07.08.2003, 13:51 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
Есть некая табличка из двух колонок: дата и курс. Нужно нарисовать в Чарте график.
Рисую циклом повторяя:
Series2->AddXY(var1,var2,"",clGreen);
А проблема вот в чем: по оси Y всё ок. А вот как сделать чтобы на шкале Х указывалась дата?
Declaration
function AddXY(Const AXValue, AYValue: Double; Const AXLabel: String; AColor: TColor) : Longint;
А мне нужно не Double, а DateTime для второго параметра. Как решить такую проблему? |
|
Asher |
Отправлено: 07.08.2003, 14:18 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
а ты почитай зачем там AXLabel, может и пригодится
|
|
Георгий |
Отправлено: 07.08.2003, 15:55 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
Можно чуть чуть иначе:
CODE | this->Chart1->BottomAxis->DateTimeFormat="hh:mm:ss";
this->Series1->XValues->DateTime=true;
...
OneTermoGraph->Series1->AddXY(tf.Data.Time,t,"",clTeeColor); | |
|
bitanga |
Отправлено: 08.08.2003, 00:53 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
А можно уточнить что за переменная tf.Data.Time ? |
|
bitanga |
Отправлено: 08.08.2003, 01:42 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
QUOTE (Asher @ 07/08/2003, 15:20) | а ты почитай зачем там AXLabel, может и пригодится |
это?
function AddY(Const AYValue: Double; Const AXLabel: String; AColor: TColor): Longint;
Боюсь что не очень удобно. в моей таблице дни не равномерно — некоторые пропушены. Хотя и за это спасибо — если ничего лучше не найду и это сгодится
Отредактировано bitanga — 08/08/2003, 02:53 |
|
Георгий |
Отправлено: 08.08.2003, 02:06 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
Ой — это кусок поля одного моего объекта...
Но это не принципиально — тип этого поля TDateTime — т.е. подставляй любое TDateTime — и будет тебе график курса от времени (у меня была температура от времени)
Кстати — TDateTime хранит время в виде числа типа double (число дней прошедших с 01.01.1970?). |
|
bitanga |
Отправлено: 08.08.2003, 23:56 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
А как изменять текст легенды?
у меня на чарте два графика, в легенде должно быть две строчки. Как програмно их задать? |
|
Георгий |
Отправлено: 09.08.2003, 22:16 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
Задавай Series->Title потом Series->ShowInLegend и она, в зависимости от настроек TChart, должна будет появиться, причём, что именно появится определяется тоже настройками TChart.
Раз ты спросил о легенде, то у меня к тебе встречный вопрос — как узнать на какой строке легенды щёлкнул мышкой пользователь? |
|