Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Создание круговой диаграммы с помощью модуля GD::Graph

Тип Реферат
Предмет Информатика и программирование
Просмотров
470
Размер файла
15 б
Поделиться

Ознакомительный фрагмент работы:

Создание круговой диаграммы с помощью модуля 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;

4

5 my @data;

6

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 }

14

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

16

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;

26

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);

30

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

32

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-конструкцию:

<img src='/cgi-bin/graph.cgi' width=300 height=300 border=0 alt=Диаграмма>


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156492
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
64 368 оценок star star star star star
среднее 4.9 из 5
ДВГУПС
очень ответственно подошел к работе! Надеюсь на дальнейшее сотрудничество
star star star star star
Технический нефтегазовый институт
Спасибо Оксане, очень быстрое и качественное исполнение работы. Защита прошла на отлично. ...
star star star star star
ГУЗ
Спасибо Большое! Реферат был написан в короткие сроки и очень доступным языком
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Исследуйте на сходимость числовой знакоположительный ряд

Решение задач, Математика

Срок сдачи к 20 янв.

только что

4 задания

Контрольная, Статистика

Срок сдачи к 18 янв.

только что

Выполнить курсовой. Финансы организаций. Р-00271

Курсовая, Экономика

Срок сдачи к 22 янв.

только что

Английский

Решение задач, Английский

Срок сдачи к 15 янв.

1 минуту назад

В данный момент требуется узнать стоимость

Курсовая, Бухгалтерский учет

Срок сдачи к 1 апр.

1 минуту назад

Решить 2 задачи и ответить на вопросы.

Решение задач, Электротехника

Срок сдачи к 17 янв.

2 минуты назад

Выполнить курсовой. Финансы организаций. Р-00271

Курсовая, Финансы

Срок сдачи к 22 янв.

2 минуты назад

8 заданий под вариантами 7,17,27,37,47,57,67,77

Контрольная, Математика

Срок сдачи к 14 янв.

2 минуты назад

Тема в задании нужно сделать курсовую по организации пар Севастополь...

Курсовая, Бухгалтерская и налоговая отчетность

Срок сдачи к 15 янв.

2 минуты назад

Выполнить Индивидуальный проект, Обществознание

Контрольная, Обществознание

Срок сдачи к 18 янв.

4 минуты назад

Сделать 3 призентации

Презентация, SMM в спорте

Срок сдачи к 18 янв.

4 минуты назад

сравнительный анализ мер валютного контроля

Презентация, Таможенное дело

Срок сдачи к 15 янв.

4 минуты назад

Тесты,Экзамены

Другое, Все

Срок сдачи к 19 янв.

5 минут назад

Решить контрольную

Контрольная, Биология

Срок сдачи к 30 янв.

5 минут назад

Технологическая (проектно-технологическая) практика

Отчет по практике, Педагогическое образование

Срок сдачи к 16 февр.

6 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно