Какой способ создания диаграмм в веб-приложении Ruby on Rails вы предпочитаете?

StackOverflow https://stackoverflow.com/questions/87561

  •  01-07-2019
  •  | 
  •  

Вопрос

Я хотел бы добавить круговые, гистограммы и точечные диаграммы в свое веб-приложение Ruby on Rails.Я хочу, чтобы они были привлекательными, простыми в добавлении и не требовали больших затрат.

Какое решение для построения диаграмм вы бы порекомендовали?
Каковы его недостатки (требуется Javascript, Flash, дорого и т. д.)?

Это было полезно?

Решение

Google Диаграммы — отличный выбор, если вы не хотите использовать Flash.Его довольно легко использовать отдельно, но для Rails это еще проще с помощью gchartrb драгоценный камень.Пример:

GoogleChart::PieChart.new('320x200', "Things I Like To Eat", false) do |pc| 
  pc.data "Broccoli", 30
  pc.data "Pizza", 20
  pc.data "PB&J", 40 
  pc.data "Turnips", 10 
  puts pc.to_url 
end

Другие советы

Если вам не нужны изображения и вы можете остановиться на использовании JavaScript, вы можете попробовать клиентское решение, например плагин jQuery. плавать.

Я фанат Грубые графики, но Google Диаграммы также хорошо, если вы не против использовать внешний сервер.

Это требует вспышки и не бесплатно (хотя и недорого): диаграммы.

Я успешно использовал его, и он мне нравится.Некоторое время назад я рассмотрел несколько вариантов и остановил свой выбор на нем.Однако в то время Google Charts не был таким зрелым, как кажется сейчас.Я бы подумал об этом в первую очередь, если бы мне пришлось провести переоценку сейчас.

Есть также Неряшливый.Недавно я взглянул на код, и мне показалось, что его легко изменить/расширить.Он создает SVG и (путем преобразования) PNG.

Вы пробовали API Google Диаграмм?- API веб-сервисов на самом деле не намного проще.Он бесплатен в использовании, прост в реализации, а диаграммы выглядят не так уж и плохо.

Открыть Flash Chart II это бесплатная опция, которая дает очень хороший результат.Как и следовало ожидать, для этого требуется Flash.

Диаграммы слияния еще лучше, но стоит 499 долларов.Исследуя это, я обнаружил урезанная бесплатная версия это может удовлетворить ваши потребности.

Я второй голосую за плавать.Последняя версия позволяет выполнять некоторые анимации и действия, которые, как я раньше думал, были возможны только с помощью Flash.Документация просто фантастическая.Его легко писать вручную, но в простых случаях это становится еще проще с помощью плагина Rails под названием флотилия.Вам следует проверить страница примеров чтобы лучше понять, на что он способен.Возможности масштабирования и наведения особенно впечатляют.

Новая Google Visualization, по-видимому, создает диаграммы более разнообразного типа, более красивые и интерактивные, чем Google Graphs.

http://code.google.com/apis/visualization/

Моррис.js хороший и с открытым исходным кодом.Я хотел бы выбрать его по сравнению с highcharts.Появился новый замечательный видеоурок от Рейлскасты

Я только что нашел Зия создает действительно интересные диаграммы и специфичен для Rails.

Недостатком является то, что он использует Flash, и если вы не хотите, чтобы сайты ссылались на страницу XML/SWF, это будет стоить 50 долларов за сайт.

[Я еще не решил, но хотел выбросить это на случай, если люди захотят проголосовать за него]

Я широко использовал Fusion Charts в веб-приложении Java, но в Rails он должен работать так же, поскольку вы просто встраиваете Flash через HTML или JavaScript и передаете ему XML-данные.Это отличный пакет, и их поддержка всегда была очень отзывчивой.

Вам следует взглянуть на Дмитрий Барановский Библиотека Javascript под названием Рафаэль.

Диаграммы Google очень хороши, но это не только решение для Rails.Вы просто используете язык программирования по вашему выбору для динамического создания URL-адресов, содержащих данные, и Google возвращает вам красивое изображение с вашей диаграммой.

http://code.google.com/apis/chart/

Раньше я решил создать свой собственный (используя RVG/RMagick), главным образом потому, что у Gruff не было всего, что мне хотелось.Обратной стороной было то, что находить и устранять все ошибки в графическом коде было очень сложно.Сейчас я предпочитаю Gruff, поскольку он действительно продвинулся вперед с точки зрения настройки и гибкости.

Однако стандартные шаблоны и цвета Gruff отстой, поэтому для достижения наилучших результатов вам придется испачкать руки.

Касательно диаграммы, существует «бесплатная» версия с очень небольшими ограничениями, которая генерирует Flash-диаграммы, включая упоминание «диаграмма amCharts.com».

И есть хороший плагин, иноходь, который предоставляет вам несколько вспомогательных методов, позволяющих легко добавлять диаграммы в ваши представления.Обратите внимание, что Справочная документация amCharts.com по-прежнему необходим для адаптации диаграммы к вашим требованиям.

Диаграммы GoogleCharts и Gruff хороши, но иногда им не хватает некоторых функций, которые мне нужны для построения более научных графиков.Для gnuplot есть драгоценный камень, который может быть полезен в некоторых из этих ситуаций.

http://rgplot.rubyforge.org/

Я начал использовать протовис для создания диаграмм SVG с помощью JavaScript.Мой основной подход к Rails заключается в том, чтобы иметь контроллер, который возвращает данные для отображения в формате JSON, и собирать их с помощью небольшого количества javascript и protovis.

Единственным недостатком является то, что полная поддержка IE (поскольку он основан на SVG) в настоящее время недоступна прямо из коробки...Тем не менее, текущие патчи обеспечивают поддержку IE, подробности о которой можно найти здесь. здесь.

Лично я предпочитаю диаграммы на основе JavaScript, а не Flash.Если все в порядке, также проверьте Высокие чартыПлагин Rails также доступен.

Кажется, гем gchartrb больше не поддерживается.Автор точки этим драгоценным камням:

Мы делаем это, используя gnuplot для создания диаграмм в формате PNG на стороне сервера.Это немного старомодно, диаграммы не интерактивны, но работают и кэшируются.

(Другая причина, по которой мы это делаем, заключается в том, что мы можем поместить точно такую ​​же диаграмму в PDF-версию отчета).

Однако это не конкретно RoR, это довольно удобный порт Gruff на JavaScript: http://bluff.jcoglan.com/

ГрафикДиректор.Уродливый API, но хорошие результаты обработки изображений на стороне сервера.Автономный двоичный файл.

Кстати, я не фанат использования Google Charts, когда важна подгонка и отделка.Я считаю, что переменные для определения размера, в частности, непредсказуемы — диаграмма делает свое дело.

Я еще не играл с Gruff/Bluff/и т. д., но для более громкого проекта я не буду использовать Google Charts.

Если вам нужны довольно красивые диаграммы, которые легко создавать и вы можете включить Flash, то вам обязательно стоит взглянуть на диаграммы maani.us xml/swf.

За этим стоит какой-нибудь XML-конструктор, и все готово.

FusionCharts это очень хороший продукт для построения графиков.Хорошо работает с РоР.Их поддержка и форумы хороши.Бесплатная версия этого продукта имеет ограниченное количество диаграмм и функций, но не имеет водяных знаков.

Я только начал использовать Googlecharts для своего проекта Rails 3.Он красивый и чистый, и, похоже, это единственный живой драгоценный камень на основе API визуализации Google.Другие неактивны и в основном используют старый API Google Charts (выпущенный где-то в 2007-2008 годах).

https://github.com/mattetti/googlecharts

Д3 стал моим любимым способом добавления красивых диаграмм в веб-приложения.Вам придется проделать небольшую работу по сравнению с некоторыми другими фреймворками, но внешний вид и контроль перевешивают это.

В основном я использую SVG, что означает отсутствие IE8, но это становится менее серьезной проблемой.

HighChart - Библиотека диаграмм, написанная на чистом JavaScript.

Драгоценные камни, такие как рельсы для чартеров, ленивая высокая диаграмма упрощает интеграцию с рельсами

gem 'chart' упрощает добавление диаграмм ChartJS и NVD3 в рельсы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top