Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Работа с TChart

Delphi , Компоненты и Классы , TChartFX

Работа с TChart

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

uses Series;

 // Creates two series in the chart and assigns random values 
// erzeugt zwei Serien im Chart und fullt sie mit zufalligen Werten 
procedure TForm1.Button1Click(Sender: TObject);
 var
    i, j, kum: Integer;
   s, t: TLineSeries;
 begin
   with Chart1 do
   begin
     // Title of the Chart 
    Title.Text.Clear;
     Title.Text.Add('Ein Titel fur den Chart');

     // Create first Series 
    s := TLineSeries.Create(nil);
     // Clear it 
    s.Clear;
     // set the title 
    s.Title := 'Chart Linie 1';
     // determine the chart, this series belongs to 
    s.ParentChart := Chart1;
     // the x-axis shall use date 
    s.XValues.DateTime := True;

     // create the second Series 
    t := TLineSeries.Create(nil);
     t.Clear;
     t.Title       := s.Title + ' kum';
     t.ParentChart := Chart1;
     t.XValues.DateTime := True;
     // this series uses the right axis 
    t.VertAxis := aRightAxis;

     // now add the random values 
    for i := 0 to 364 do
     begin
       j := Random(100);
       s.AddXY(Date + i, j);
       kum := kum + j;
       t.AddXY(Date + i, kum);
     end;
   end;
 end;

Программный код на Delphi, который создает TChart с двумя сериями (TLineSeries) и заполняет их случайными значениями с помощью функции Random из модуля System.

Описание кода:

  1. Процедура Button1Click вызывается при клике кнопки "Button1".
  2. Она очищает заголовок диаграммы и устанавливает новый заголовок на "Ein Titel für den Chart".
  3. Создает два экземпляра TLineSeries, s и t, и присваивает их диаграмме Chart1.
  4. Устанавливает заголовки для обеих серий: "Chart Linie 1" для s и "Chart Linie 1 kum" для t.
  5. Устанавливает родительскую диаграмму для обеих серий на Chart1.
  6. Устанавливает значения X-оси для обеих серий в формате даты.
  7. Для второй серии (t) устанавливает вертикальную ось на правую ось с помощью свойства VertAxis.
  8. Код затем заполняет обе серии случайными значениями с помощью цикла, который работает от 0 до 364 (включительно). В каждом итерации генерируется случайное число между 0 и 100 с помощью функции Random, добавляется к значению X-оси Date + i и добавляется к значению Y-оси соответствующей серии (s или t). Калкулируются суммы для второй серии (t) с помощью переменной kum.

Результатом будет диаграмма с двумя линиями: одна с случайными значениями, а другая - с накопительной суммой.

Альтернативное решение заключается в использовании метода TChart.Series.AddXY для добавления множества точек одновременно, вместо цикла. Это может улучшить производительность для больших данных.

Пример:

for i := 0 to 364 do
begin
  j := Random(100);
  s.AddXY(Date + i, j);
end;

kum := 0;
for i := 0 to 364 do
begin
  j := Random(100);
  t.AddXY(Date + i, kum + j);
end;

Вместо этого можно использовать:

s.AddXYRange(Date, 0, 365, Random(100));
t.AddXYRange(Date, 0, 365, CumSum(Random(100)));

Это добавит все точки одновременно, что может быть более эффективно. Пояснение: AddXYRange требует трех аргументов: начальное значение X, количество точек для добавления и значения Y для добавления. В этом случае мы добавляем диапазон из 365 точек, начиная от текущей даты, с случайными значениями или накопительными суммами.

Статья описывает пример программирования на Delphi, где создается график с использованием компонента TChart и добавлением случайных значений в две линии.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TChartFX ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-26 17:54:02/0.0037920475006104/0