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


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

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

30 76

30 ответов:

Google Charts - отличный выбор, если вы не хотите использовать вспышку. Он довольно прост в использовании сам по себе, но для 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 flot.

Я фанат Граф Графы, а Google Charts также хорошо, если вы не против полагаться на внешний сервер.

Это требуется Flash и не бесплатно (хотя и недорогой): amcharts.

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

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

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

открыть Flash Chart II Это бесплатный вариант, который дает очень хороший выход. Это, как и следовало ожидать, требует вспышки.

Слияние Графика еще лучше, но стоит $499. Исследуя это, я нашел урезанная бесплатная версия что может удовлетворить ваши потребности.

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

новая визуализация Google, по-видимому, создает диаграммы более разнообразного типа, лучше выглядящие и интерактивные, чем графики Google.

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

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

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

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

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

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

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

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

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

в старые времена я решил свернуть свой собственный (используя RVG / RMagick), главным образом потому, что у Граффа не было всего, что я хотел. Недостатком было то, что поиск и устранение всех ошибок в графическом коде-это боль. В эти дни Gruff-это мой выбор, поскольку он действительно продвинулся вперед с точки зрения настройки и гибкости.

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

о amcharts, есть "бесплатная" версия с очень немногими ограничениями, которая генерирует Флэш-диаграммы, включая " диаграмму по amCharts.com-упомяните.

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

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

http://rgplot.rubyforge.org/

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

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

Я лично предпочитаю диаграммы на основе JavaScript, а не Flash. Если это нормально, также проверьте Высокий Графика. А Rails плагин также доступна.

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

мы делаем это, обстреливая gnuplot для создания диаграмм как PNGs на стороне сервера. Это немного старая школа, и диаграммы не интерактивны, но она работает и кэшируется.

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

Это не специально RoR однако, это довольно гладкий порт Груффа на javascript:http://bluff.jcoglan.com/

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

FWIW, я не поклонник использования Google Charts, когда fit & finish имеет важное значение. Я нахожу, что переменные для калибровки, в частности, непредсказуемы - диаграмма делает свое дело.

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

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

некоторые XML-строитель за ним и вы готовы пойти.

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

Я только начал использовать googlecharts для моего проекта rails 3. Это красиво и чисто, и, кажется, единственный Google visualization api на основе драгоценного камня, который жив. Другие неактивны и в основном используют старый api Google charts (выпущенный где-то в 2007-2008 годах).

https://github.com/mattetti/googlecharts

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

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

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

в игре highchart-rails,lazy-high-chart упрощает интеграцию с rails

gem 'chart' позволяет легко добавлять диаграммы ChartJS и NVD3 в rails.