Мне нужно отобразить некоторые диаграммы / графики, основанные на вводе данных пользователем в моем веб-приложении, созданном с использованием Ruby on Rails. Существуют ли какие-либо библиотеки диаграмм, которые я мог бы использовать с ROR для отображения простых столбчатых, линейных и круговых диаграмм?
Библиотека диаграмм Ruby?
Ответы (9)
Есть красивый драгоценный камень, который называется
для графиков в рубине. Вам понадобится великолепный imagemagick и rmagick. Поскольку установка двух последних не является тривиальной (но и несложной), существует FAQ по установке. для этого.
Выглядит примерно так:
Дополнительные примеры этой библиотеки: http://geoffreygrosenbach.com/projects/show/5
Долой вспышку и imagemagick.
Попробуйте Highcharts с плагином lazy high charts для ruby: github.com/michelson/lazy_high_charts.
Помимо метко названного гема googlecharts, упомянутого выше, есть еще два, которые используют Google Charts API, gchartb и ruby-googlechart.
Для очень замечательной библиотеки диаграмм JavaScript protovis, похоже, кто-то запустил подключаемый модуль rails под названием protovis on rails, но он по-прежнему выглядит грубоватым, и его давно не трогали.
Или создавайте диаграммы в облаке через Google - вот жемчужина для этого: https://github.com/mattetti/googlecharts а>
Пример:
# console
$ ruby script/plugin install git://github.com/mattetti/googlecharts.git
# view
<img src="<%=GoogleChart.pie(['1997',10],['1998',70],['1999',20]).to_url%>">
Открыть Flash Chart 2 очень приятно и довольно просто. Вы получаете больше динамических функций (всплывающие подсказки, onclick, hover, ...): выглядит красиво :)
В этом связанном вопрос упоминается еще несколько очень интересных альтернатив. Из них я считаю наиболее интересными (мне не разрешено использовать гиперссылки, поэтому используйте Google :)
- flot, графическая библиотека на основе jQuery с плагином flotilla rails. Особенно, если вы уже используете jQuery в своем приложении Rails, как и я.
- raphael, который выглядит очень интересно, а также имеет младшего брата gRaphael, особенно для графиков / диаграмм. Чистый javascript, увы, без плагинов на данный момент. Но это не должно быть слишком сложно.
Это обе библиотеки javascript, предлагающие такой же внешний вид и интерактивность, что и альтернатива flash, без использования flash, что, по-моему, является большим преимуществом. Кроме того, кажется, что существует больше интерактивных опций / возможностей, чем может предложить открытая флеш-диаграмма. Я собираюсь это проверить :)
Мне не разрешено показывать более 1 URL, поэтому Google - ваш друг :)
Надеюсь это поможет :)
Есть еще один гем, называемый scruffy, которому не нужны rmagick и imagemagick / graphicsmagick, если вы хотите сгенерировать только svg.
Вот страница проекта http://scruffy.rubyforge.org, на которой есть довольно много примеров
Для небольших графиков есть спарклайны.
Диаграмма Yui из Yahoo работает также в автономном режиме. Для него есть рубиновый плагин, я не знал его названия, извините.
Chartkick в настоящее время наблюдает за тенденциями и также работает с Highcharts.