Пользователь
0,0
рейтинг
28 июля 2008 в 12:32

Разработка → pChart — строим графики и диаграммы на PHP

pChart — это PHP-библиотека для создания графиков, гистограмм и диаграмм. В отличие от большинства схожих библиотек, pChart бесплатна (распространяется под GPL лицензией). Из бесплатных главный соперник — Google Chart API.

Помимо класса, который рендерит изображения, есть классы для подготовки данных для построения графиков, а так же встроенный механизм кэширования.



Схема работы библиотеки:



А теперь пару примеров работы:

1. Демо постороения графиков и гистограмм

Пример:


Исходный код

2. Демо построения круговых диаграмм

Пример:


Исходный код
EvilFaeton @EvilFaeton
карма
56,4
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (58)

  • +8
    Полезная вещь. Добавил в избранное сразу.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Ну не знаю, лично мне JpGraph как-то не очень понравился. А эта штука довольно приятная на вид. Надо бы поиграться с ней :)
      • 0
        А чем не понравился? Я использовал и считаю, что это достаточно удачный фреймворк чартов. А если еще включить сглаживание при отрисовке линий, то вообще красота получается
    • 0
      Работал с JpGraph - очень гибкий фреймворк чартов, рекомендую. Посмотреть можно на http://realinvest.kz/
    • 0
      Использую JpGraph - все нравится. Но за статью спасибо - обязательно попробую pChart.
  • 0
    спасибо - поглядим что за зверь.

    пока используем JpGraph - пока устраивает.
    • +1
      у jpgraph лицензия некузявая
  • 0
    Смотрится довольно симпотично. Надо попробовать, а то JpGraph не очень понравился.
  • 0
    еще вариант, на флеше, http://www.maani.us/charts/index.php
    • 0
      но за хорошее нужно платить )))
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      а ручками? не думаю что у диаграмм Ганта те же классы что и у обычных.
      Но посредством этих можно и Гантовские реализовать.
    • 0
      AnyChart умеет
  • 0
    Отличная штуковина! Просто замечательная. Давно искал что-то похожее (JpGraph не в счет - не понравился). Спасибо большое (хочу кармы, чтобы плюсануть :) ).
    • 0
      интересно, появится ли еще пара комментов от только что зарегенных товарищей с нулевой кармой и словами о том, что
      JpGraph не понравился
      ?
      • +1
        не пробовал :)) пока что молчу..
  • +6
    Неплохая сурс для построения графиков, но лучше смотреть в будущее и юзать преимущество новых технологий. К примеру связь PHP=>Flash(ActionScript3.0) сейчас очень сильно рулит:)
    Я недавно делал мини проект: "Индексация WMZ кошелька и построения графика"
    Потратил 3 часа для выбора "стартапа"... видел я и pChart и jpGraph и много других (платных)
    Но когда увидел Open Flash Chart
    Была бы карма написал что и как и поподробней :) Так как времени нету набирать карму, пишу в комментах :*(
    Очень легко настраиваемый чарт, кликабельный и как говорится ЖИВОЙ!
    Вот моя работа: http://utbs.kiev.ua/wmsystem/chart.php
    • 0
      извиняюсь за некоторые ошибки в тексте... мешают на работе
      • 0
        если не секрет, как суммы брали с кошелька ?
        • 0
          а почему бы и нет? =)
          • 0
            может быть и да, но вопрос не об этом)
          • 0
            извиняюсь :( не то, и немного не туда, гдето вроде видел чтото такое, сейчас попробую у себя поискать =)
        • +2
          http://www.webmoney.ru/rus/developers/interfaces/xml/balance/index.shtml вот! =)
          • 0
            спасибо.
          • +1
            Спасибо! Добавил коммент в закладки =)
        • 0
          Рекомендую кухню от http://my-tools.net/wmxi/ . Там все интерфейсы и все что Вам надо. З.Ы. за справками к ВМ Администрации
    • 0
      Пишите подробней, бум ждать, тема интересная... ;)
      • 0
        Как карма прибудет - буду писать. Просто я как бы здесь читатель - а не писатель! :) Хотя интересно и написать пару статьей (думаю за 10 лет опыта в Веб-разработке, есть чем поделится) ;)
        • 0
          Вы занимаетесь web-разработкой с 9 лет?
          • 0
            Совершенно верно, в 15 я уже закончил комп. академию :) И занимался еще и системным программированием...
      • 0
  • +4
    есть еще неплохой пример на jQuery
    http://jsgt.org/lib/jquery/plugin/jqchar…
  • 0
    Маленький баг - на круговой диаграмме желтая часть закрашена не полностью
  • 0
    Есть еще http://anychart.com Может все и даже больше, но сцука платный =(
    • 0
      $100 не много за такое.
      • 0
        Кагбы пицот :) http://anychart.com/products/anychart/buy/
  • 0
    Пользуемся Fusion Charts и довольны.
    Довольно красивое решение, так как сделано на flash.
    • 0
      http://www.anychart.com/home/
      Для PHP тут http://www.anychart.com/products/anychart/docs/platforms/php/
    • 0
      Отличное решение - но платное. Есть намного проще решения и бесплатно :)
      • 0
        Да нас както не обламывает, не очень то и дорогое, зато удобное
  • 0
    Я делал как-то на JS+SVG, если кому интересно - вот пилотная версия (от октября 2007 г):

    http://vbolshov.org.ru/?id=18&ctrl=artic…

    В настоящее время у меня готов гораздо более удобный вариант на PHP (от жабоскрипт-версии решил отказаться). Есть и улучшения в визуализации/интерактивности. Заинтересует - выложу исходники и пример использования. Само собой, и ссылку запостю. Однако, заранее предупреждаю: мой вариант, конечно, не претендует на конкуренцию с "коробочными" софтинами.
  • +2
    Мне почему-то кажется, что если под каждой хорошей статьей среди первых комментов написать что-то типа: "Это круто, добавил в избранное!" — мгновенно получишь кучу плюсов. За что — не ясно.
    • 0
      Полностью с тобой согласен - пост "Полезная вещь. Добавил в избранное сразу.", имеет выше рейтинг чем мой несколько постов ниже (который пока занимает самое большое обсуждение в этой ветке) - а именно на 8. Но ясное дело не мне решать :)
    • 0
      и минусов в карму :)
  • +2
    крутотень.
    наверное это первый случай бесплатного класса построения графиков, который по дефолту не выглядит уё*ищно и его не нужно долго-долго адаптировать, чтобы результат имел более-менее эстетичный вид.
    • 0
      Очень интересная точка зрения. Здравая. Сильно задумался над реализацией интерфейсса панели клиентов хостинга. У них панель управления со статистикой, а там графиков... За идею спасибо.
      • 0
        рад)
  • 0
    Какой смысл напрягать этой работой сервер, если есть решения на Flash. Сервер просто отдает данные в нужном формате, а графики строятся на клиенте.
    Если эти графики на PHP будут часто загружаться то сервак напряжется неподетски.
    • –1
      Полностью с тобой согласен! ;) обработка такого масштабного рисования на сервере не приведет к добру :)
    • 0
      Когда рендер флэша будет встроен в каждый браузер «из коробки»- тогда можно будет использовать решения на флэше. А сейчас, когда у офисного планктона зачастую стандартный ИЕ, то есть шанс потерять часть посетителей использованием флэша. Тем более не стоит забывать про мобильных юзеров- в их браузерах до поддержки флэша еще очень и очень далеко (разве что в родном браузере Symbian 9.2 есть поддержка флэш, при наличии в системе флэш-плеера).

      Если эти графики на PHP будут часто загружаться то сервак напряжется неподетски.

      При ровных руках разработчика картинка будет генериться всего один раз (и генериться заново при изменении данных), а дальше готовую картинку с удовольствием будет отдавать nginx :) И не исключено, что решение на флэше будет весить больше, чем сама картинка.
  • 0
    Замечательная вещь. Не то что писать всё самому на GDlib.
  • 0
    Документация только паршивая у них.
    • 0
      В комплекте с библиотекой идет чуть ли не два десятка примеров, в которых разобраны, наверное, все диаграммы, которые можно построить в pChart. Но если Вам не нравятся примеры, вот немного документации на Русском. Там знать то особо и не о чем.
      • 0
        Я не имею каких-то претензий. Но факт остается фактом.
  • 0
    не понятно только как в этой библиотеке поставить точку не создавай метку внизу. Т.е. точку между вертикальными полосками.
  • 0
    Спасибо за пост.
    Вы бы не могли подсказать чего не хватает php, я попробовал второй демо пример у себя на сервер запустить. в логах ошибки:
    [Fri Mar 09 21:51:58 2012] [error] [client 10.16.1.11] PHP Notice: Uninitialized string offset: 0 in /var/www/admin/pChart/pChart/pData.class on line 116
    [Fri Mar 09 21:51:58 2012] [error] [client 10.16.1.11] PHP Notice: Uninitialized string offset: 1 in /var/www/admin/pChart/pChart/pData.class on line 116
    [Fri Mar 09 21:51:58 2012] [error] [client 10.16.1.11] PHP Fatal error: Call to undefined method pData::SetYAxisName() in /var/www/admin/test.php on line 24
    Естествено графика нет…
    • 0
      Вообще-то уже давно выкатили вторую версию. Берите и используете.

      _ttp://wiki.pchart.net/

      NB! Несмотря на качество библиотеки, у нее очень невкусная лицензия. Или выкладываешь свои исходники под GPL, или плати 50 EUR за лицензию на 1 сервер, или 500 EUR за лицензию на несколько серверов. Поэтому я в конечном счете и отказался от этой библиотеки на своем сайте. Из-за такой фигни засовывать себя в эм… Ну Вы поняли, не хочется.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.