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

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

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

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

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

Да, спасибо!

0%

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

0%

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

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

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

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


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

Тип Реферат
Предмет Информатика и программирование
Просмотров
473
Размер файла
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
156804
рейтинг
icon
6076
работ сдано
icon
2739
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
65 048 оценок star star star star star
среднее 4.9 из 5
МГОУ
Работа выполнена очень быстро и качественно. Только положительные эмоции от сотрудничества
star star star star star
Ульяновский государственный технический университет (УлГТУ)
Не в первый раз работаю с данным исполнителем. Всегда работу выполняет заранее и очень кач...
star star star star star
Мед университет
Виктория очень внимательная, доброжелательная. Работу выполнила на отлично 👍 рекомендую да...
star star star star star

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

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

Тема: Развитие лёгкой атлетики в России

Диплом, Физическая культура

Срок сдачи к 5 мар.

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

Теория вероятностей 9 класс , тесты

Решение задач, Теория вероятностей и математическая статистика

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

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

Задачи по химии 9 класс

Решение задач, Химия

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

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

нужно сделать 5 лабораторных

Лабораторная, Электротехника

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

7 минут назад

Физика 9 класс тесты

Решение задач, Физика

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

7 минут назад

Решить задачи по примеру

Решение задач, Метрология и стандартизация

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

8 минут назад

Написать индивидуальное сообщение на тему: средние века

Другое, Мировая Отечественная художественная культура

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

8 минут назад

Отчёт полный факторный эксперимент первого порядка пфэ

Другое, Методология, электротехника

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

9 минут назад

Выполнить курс "Начертательная геометрия и инженерная графика 2.2". М-08603

Контрольная, Начертательная геометрия и инженерная графика

Срок сдачи к 21 мар.

11 минут назад

Конфигурирование и настройка аппаратно-программных офисных...

Курсовая, МДК, информатика, электротехника

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

11 минут назад

Отчёт по практике

Отчет по практике, Туризм

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

11 минут назад

Организация местного самоуправления( на примере своего поселения, муниципального района, городского округа)

Реферат, Муниципальное управление и местное самоуправление

Срок сдачи к 12 мар.

11 минут назад

Написать курсовую

Курсовая, Таможенное дело

Срок сдачи к 25 мая

11 минут назад

решение задач № 8, 9, 10

Решение задач, Методы принятия решений, менеджмент

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

11 минут назад

Презентация на 18 слайдов

Презентация, Стратегический менеджмент и управление проектами в государственном управлении

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

11 минут назад

И. В. Витте, Выбрать тему, сделать задание по рекомендациям

Курсовая, Гражданское право

Срок сдачи к 15 мая

11 минут назад

Решить задачи по примеру

Решение задач, Метрология и стандартизация

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

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

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

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

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

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

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

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

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