В прошлый раз я обещал рассказать о том, как создавать...

В прошлый раз я обещал рассказать о том, как создавать графики для своих ресурсов и при этом не нагружать сервер. Речь, конечно, пойдет о web сервисе Google Chart. Этот сервис появился достаточно давно и на сегодняшний день существует множество библиотек для работы с ним. Но к сервису и библиотекам мы ещё вернемся, а сейчас обсудим варианты создания графиков для web страниц. Главная проблема На сегодняшний день нарисовать график, используя только HTML, нельзя. Поэтому приходится использовать обходные варианты. 1) Создать рисунок с графиком и вставить его в страницу. 2) Использовать Flash. Об этом варианте я рассказывал в статье Графики своими руками – Open Flash Chart 2. По-идее, вместо Flash можно использовать Silverlight, но примеров я не видел. Примечание. Big_Shark подсказал еще одну flash библиотеку для создания графиков – amCharts. Очень советую посмотреть. Возможно вам она понравится больше чем Open Flash Chart.

В прошлый раз я обещал рассказать о том, как создавать...

Рассмотрим подробнее первый вариант. Рисунок с графиком может быть статическим или динамическим. Статические создаются заранее и при открытии посетителем страницы просто отсылаются ему. Динамические создаются каждый раз заново. Обычно с помощью библиотек GD или ImageMagick. Точнее в большинстве случаев используются специальные библиотеки для создания графиков (например, GraPHPite или pChart), которые используют GD или ImageMagick. Естественно, с точки зрения нагрузки на сервер статические графики гораздо выгоднее. Но если на графике нужно показать данные, которые постоянно изменяются, например, данные о посещаемости, то этот вариант не подойдет. Использование Flash выглядит гораздо интереснее. График создается на стороне клиента, Flash плеером. Вам нужно только передать ему нужные данные. Но и тут есть проблема.

В прошлый раз я обещал рассказать о том, как создавать...

Flash ролик, который используется для создания графика довольно объемный. Например, в библиотеке Open Flash Chart он занимает 264кБ. Конечно, этот недостаток становится преимуществом, если нужно разместить несколько десятков графиков на странице. Т. к. суммарный объем рисунков с графиками будет больше чем объем ролика, который загружается браузером только один раз. Но если вам нужно показать только один график, то как-то не правильно грузить посетителю 260 кБ вместо 10-20 кБ, которые будет занимать график в png формате. Т. е. в этом случае нужно создавать графики динамически. И при этом было бы очень неплохо избежать разногласий с хостером по поводу нагрузки на сервер. Примечание. Речь, конечно, идет о shared хостинге.

В прошлый раз я обещал рассказать о том, как создавать...

Если у вас выделенный сервер, то ваши проблемы с нагрузкой хостера интересовать не будут В таких случаях есть смысл использовать сторонний сервис. Т. е. картинка с графиком будет создаваться не вашим, а чужим сервером. Принцип работы Google Chart 1) Ваш серверный скрипт получает данные для отображения на графике. 2) На основе этих данных формируется URL специального вида, который указывает на сервер Google (URL начинается с http://chart. apis. google. com/…). В параметрах передаются данные для построения графика. 3) Этот URL вставляется в атрибут src тега img, в который вы хотите поместить график. 4) Страница отправляется браузеру. 5) Браузер отправляет запрос серверу google (используя ваш URL) и в ответ получает картинку с графиком. Т. е. общий принцип достаточно простой. Но, естественно, google накладывает некоторые ограничения. 1) Вы можете использовать только заранее оговоренный набор графиков. Правда возможности оформления есть и довольно широкие, но если, используя GD можно нарисовать практически что угодно, то здесь ограничения все-таки присутствуют. 2) Вы зависите от стороннего сервиса. Интересный, кстати, вопрос, что надежнее Google Chart или ваш ресурс? 3) Существует ограничение на количество запросов – 50 000 на пользователя в сутки. Не думаю, что это серьезное ограничение для большинства ресурсов. Теперь самое интересное. Создание URL. Первая часть URL постоянная. http://chart. apis. google. com/chart? После неё идут параметры в виде имя=значение. Т. к. существуют определенные ограничения на длину URL, то разработчики Google Chart предлагают использовать специальное кодирование данных. Цель здесь простая – максимально сократить длину URL. Естественно, кодировать данные вручную никому не понравится. Поэтому появилась куча библиотек. Пример использования одной из них я хочу показать. Библиотека называется GphpChart. Создадим простую страничку.

Понравилась статья? Получай обновления и будь всегда в курсе событий!
Подпишись на RSS или
blog comments powered by Disqus