Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Создание кругової діаграми з допомогою модуля GD:: Graph

РефератДопомога в написанніДізнатися вартістьмоєї роботи

В тому випадку зображення діаграми виводиться в файл в графічному форматі, однак його вивести у стандартний потік виведення STDOUT. Це може знадобитися до створення «нальоту «діаграм відображення динамічно змінюються даних веб-сторінці. І тому доведеться дещо видозмінити вищенаведений код программы. При бажанні можна використовувати шрифти TrueType замість вбудованих. У рядках 27−29 вказуються… Читати ще >

Создание кругової діаграми з допомогою модуля GD:: Graph (реферат, курсова, диплом, контрольна)

Создание кругової діаграми з допомогою модуля GD: Graph

Сейчас, щоб задовольнити потреби примхливих користувачів, багато хто Інтернет-ресурс будується на динамічному відображенні представленої інформації. Сьогодні ми розглянемо із таких можливостей, саме — реалізацію динамічних кругових диаграмм.

Язык програмування Perl пропонує розробникам великий інструментарій для створення, обробки, зміни та управління вмістом веб-сайтів. З допомогою Perl-модуля GD: Graph створення кругової діаграми стає справою простою й доступним практично кожному.

К прикладу, ваш начальник хоче порівняльний графік, відображає динаміку продажу онлайні, у звичайних крамницях та у вигляді дистриб’юторів. Сам графік має споруджуватися з урахуванням CSV-файла (Comma Separated Values), який щотижня експортується з Microsoft Excel і розміщується в окремої директорії в локальної мережі. Маємо написати скрипт, автоматично генеруючий кругову діаграму з урахуванням наявних CSV-данных.

Листинг 1.

1 use strict;

2 use GD: Graph:pie;

3 use Text: CSV_XS;

5 my @data;

7 my $csv = new Text: CSV_XS;

8 open (FILE, «excel.csv ») || die «Cannot open excel. csv: $!n » ;

9 while (my $line =) {.

10 $csv->parse ($line);

11 my @col = $csv->fields;

12 push (@data,@col);

13 }.

15 my $graph = new GD: Graph:pie (300, 300);

17 $graph->set (.

18 title => «Заголовок кругової діаграми » ,.

19 label => «Пояснювальна підпис » ,.

20 axislabelclr => «black » ,.

21 «3d «=> 1,.

22 start_angle => 90,.

23 suppress_angle => 5,.

24).

25 or warn $graph->error;

27 $graph->set_title_font («/usr/share/fonts/ttf/windows/times.ttf », 18);

28 $graph->set_value_font («/usr/share/fonts/ttf/windows/times.ttf », 12);

29 $graph->set_label_font («/usr/share/fonts/ttf/windows/times.ttf », 14);

31 $graph->plot (@data) or die $graph->error;

33 open (GRAPH, «>graph.jpg ») || die «Cannot open graph. jpg: $!n » ;

34 print GRAPH $graph->gd->jpeg (100);

В рядку 3 наведеного лістингу ми завантажуємо модуль Text: CSV_XS, скачати безплатну версію якого на CPAN (Comprehensive Perl Archive Network). У рядку 7 створюємо новий об'єкт класу Text: CSV_XS, відкриваємо CSV-файл в рядку 8 і зчитуємо дані з файла в масив @data (рядки 9−13). Рядок 10 викликає метод parse (), який розбиває рядки файла по колонкам. Сформовані колонки повертаються з допомогою методу fields () в рядку 11 і додаються у вигляді ряду в масив @data (рядок 12). Інакше кажучи, замість формування масиву @data вручну, ми можемо створити його із зовнішнього файла (в тому випадку — CSV).

Далее (в рядку 15) створюємо об'єкт діаграми потрібної різновиду (у разі - pie) з заданим розміром изображения.

Третий параметр в рядку 21 дорівнює 1, яка передбачає створення тривимірної кругової діаграми (значення «0 «виводить двомірний графік і використовують за вмовчанням). Далі необхідно визначити початкову точку побудови діаграми, з якої скрипт розпочинатиме відлік секторів графіка. Значення поставив у градусах і з вмовчанням одно «0 «(ми встановили значення «90 », рядок 22). Ми можемо встановити потрібне значення параметра suppress_angle, що визначає мінімальний розмір сектора кругової діаграми в градусах.

При бажанні можна використовувати шрифти TrueType замість вбудованих. У рядках 27−29 вказуються назви гарнітур, використовуються, відповідно, для заголовка діаграми, найменування секторів і пояснювальних підписів до графіка. Цифри, що йдуть після вказівки гарнітур, означають встановлений розмір шрифта.

В рядку 33 виводиться зображення кругової діаграми в файл в форматі JPEG (чи PNG). У наступній рядку параметром методу jpeg () можна поставити ступінь оптимізації (якості) зображення (в процентах).

В тому випадку зображення діаграми виводиться в файл в графічному форматі, однак його вивести у стандартний потік виведення STDOUT. Це може знадобитися до створення «нальоту «діаграм відображення динамічно змінюються даних веб-сторінці. І тому доведеться дещо видозмінити вищенаведений код программы.

Листинг 1.

32 print «Content-type: image/jpegnn » ;

33 binmode (STDOUT);

34 print $graph->gd->jpeg (100);

Чтобы вивести кругову діаграму веб-сторінці, у властивому місці документа слід вставити таку HTML-конструкцию:

Диаграмма.

Список литературы

Для підготовки даної праці були використані матеріали із сайту internet.

Показати весь текст
Заповнити форму поточною роботою