Реферат: Построение диаграмм
setcolor(i mod 16 + 1); setfillstyle(1, i mod 16 + 1);
{очереднойстолбец}
bar(round(Xlv+i*(Xpn-Xlv)/n), Ypn,
round(Xlv+(i+1)*(Xpn-Xlv)/n), round(Ypn-(Ypn-Ylv)/xmax*a));
i:= i + 1;
{укажем, какому цвету какая величина соответствует}
bar(getMaxx-70, 50+(i-1)*20, getMaxx-50, 50+(i-1)*20+15);
str(a:8:2, stroka);
outtextxy(getMaxx-40, 50+(i-1)*20+8, stroka);
end;
readln; close(F); closegraph
End.
Результат работы программы для указанного на рисунке набора чисел:
Для лучшего восприятия диаграммы было бы целесообразно построить вертикальную ось с разметкой по ней, что в данной программе отсутствует.
3. Линейные диаграммы
При построении линейных диаграмм каждой величине соответствует точка, расположенная на определённой высоте относительно начала отсчёта (высота рассчитывается так же, как и при построении столбчатых диаграмм), все точки соединяются линиями. В результате получается ломаная. Такого рода диаграммы чаще всего строя в тех случаях, когда необходимо визуализировать динамику изменения величин.
Программа аналогична программе построения столбчатых диаграмм и приведена ниже.
{Линейная диаграмма (с) А.П. Шестаков, 2001}
program Stol_D;
Uses Graph;
Var a, xmax : Real; I, n : Byte; G, M : Integer;
F : Text; {файл содержит данные для построения диаграммы}
Stroka : String; Yn, Yk : Integer;
Xlv, Ylv, Xpn, Ypn : Integer; {координаты окна вывода диаграммы}
Begin
Assign(F, '1.dat'); Reset(F);
if not eof(f) then begin readln(f, xmax); n:= 1 end else n := 0;
While Not Eof(F) Do
begin Readln(F, a); if a > xmax then xmax := a; n := n + 1 end;