Ruby on Rails Web アプリケーションに円グラフ、棒グラフ、散布図を追加したいと考えています。魅力的で、簡単に追加でき、オーバーヘッドがあまり発生しないようにしたいと考えています。
どのチャート作成ソリューションをお勧めしますか?
その欠点は何ですか (Javascript、Flash が必要、高価など)?
Ruby on Rails Web アプリケーションに円グラフ、棒グラフ、散布図を追加したいと考えています。魅力的で、簡単に追加でき、オーバーヘッドがあまり発生しないようにしたいと考えています。
どのチャート作成ソリューションをお勧めしますか?
その欠点は何ですか (Javascript、Flash が必要、高価など)?
Flash を使用したくない場合は、Google Chartsが最適です。単独で使用するのは非常に簡単ですが、Rails の場合はgchartrb gemを使用するとさらに簡単になります。例:
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などのクライアント側のソリューションを試すことができます。
私はGruff Graphsのファンですが、外部サーバーに依存することを気にしない場合は、Google Charts も優れています。
フラッシュが必要で、無料ではありません (安価ですが): amcharts .
私はそれをうまく使い、気に入っています。しばらく前にいくつかのオプションを評価して選択しました。しかし当時、Google Charts は今ほど成熟していませんでした。今再評価するなら、まずそこを考えます。
Scruffyもあります。最近コードを見てみましたが、変更/拡張が簡単に思えました。svg と (変換により) png を生成します。
Google Charts APIを試しましたか? - Web サービス API はそれほど単純ではありません。無料で使用でき、実装も簡単で、チャートも見栄えがよくありません。
Open Flash Chart IIは、非常に優れた出力を提供する無料のオプションです。ご想像のとおり、Flash が必要です。
Fusion Chartsはさらに優れていますが、499 ドルです。これを調査したところ、ニーズに応える可能性のあるカットダウン無料バージョンを見つけました.
Morris.jsは優れたオープン ソースです。ハイチャートと比較して選びたいと思います。Railscastsから新しい素晴らしいビデオ チュートリアルがあります
Raphaëlと呼ばれるDmitryBaranovskiyのJavascriptライブラリをご覧ください。
私は Java Web アプリケーション内から Fusion Charts を広範囲に使用しましたが、Rails からも同じように機能するはずです。なぜなら、HTML または JavaScript を介して Flash を埋め込み、それに XML データを渡すだけだからです。これは洗練されたパッケージであり、サポートは常に非常に迅速に対応してくれます。
ZiYaが非常にセクシーなチャートを生成し、Rails 固有のものであることを発見しました。
欠点は、Flash を使用していることと、サイトを XML/SWF ページにリンクさせたくない場合、サイトあたり 50 ドルかかることです。
[まだ決めていませんが、投票したい人がいる場合に備えて、そこに捨てたいと思っていました]
昔、私は (RVG/RMagick を使用して) 独自のものを作成することにしました。欠点は、グラフ化コードのすべてのバグを見つけて排除するのが面倒なことです。最近では、カスタマイズと柔軟性の点で本当に進歩しているため、Gruff が私の選択です。
ただし、標準の Gruff テンプレート/色の選択はひどいので、最良の結果を得るには手を汚す必要があります.
Google チャートは非常に優れていますが、Rails だけのソリューションではありません。選択したプログラミング言語を使用して、データを含む URL を動的に生成するだけで、Google はグラフを含む素敵な画像を返します。
GoogleCharts と Gruff チャートは優れていますが、より科学的なプロットに必要ないくつかの機能が欠けていることがあります。これらの状況のいくつかに役立つ gnuplot の gem があります。
amchartsに関しては、「amCharts.com によるグラフ」という言及を含む Flash グラフを生成する、ほとんど制限のない「無料」バージョンがあります。
ビューにグラフを簡単に追加するためのヘルパー メソッドを提供するamblingという優れたプラグインもあります。要件に合わせてチャートを調整するには、 amCharts.com のリファレンス ドキュメントが引き続き必要であることに注意してください。
個人的には、Flash よりも JavaScript ベースのチャートを好みます。よろしければ、High Chartsもご覧ください。Rails プラグインも利用できます。
FusionChartsは非常に優れたチャート製品です。RoRでうまく機能します。彼らのサポートとフォーラムは良いです。この製品の無料バージョンには、チャートと機能の数が制限されていますが、透かしはありません。
これを行うには、gnuplot にシェルアウトして、チャートを PNG としてサーバー側で生成します。少し古風で、グラフはインタラクティブではありませんが、機能し、キャッシュ可能です。
(これを行うもう 1 つの理由は、レポートの PDF バージョンにまったく同じチャートを配置できるようにするためです)。
FWIW、私はフィット感と仕上がりが重要なときに Google チャートを使用するのは好きではありません。特に、サイズ変更の変数は予測不可能であることがわかりました。グラフは独自のことを行います。
私はまだ Gruff/Bluff などで遊んだことはありませんが、知名度の高いプロジェクトでは Google Charts を使用しません。
これは特に RoR ではありませんが、Gruff から JavaScript への非常に滑らかな移植です: http://bluff.jcoglan.com/
チャートディレクター。見苦しい API ですが、サーバー側の画像の結果は良好です。自己完結型バイナリ。
Rails 3 プロジェクトで googlecharts を使い始めました。これは素晴らしくクリーンで、生きている唯一の Google ビジュアライゼーション API ベースの gem のようです。他のものは非アクティブで、ほとんどが古い Google チャート API (2007 年から 2008 年にリリースされたもの) を使用しています。
非常に魅力的で、簡単に生成でき、Flash を有効にできるグラフが必要な場合は、maani.us xml/swf chartsを確認してください。
その背後に何らかの XML ビルダーがあり、準備は完了です。
HighChart - 純粋な JavaScript で書かれたグラフ作成ライブラリ
highchart-rails、lazy-high-chartなどのGemにより、レールとの統合が容易になります
D3は、見栄えの良いグラフを Web アプリに追加するための私のお気に入りの方法になっています。他のいくつかのフレームワークよりも少し複雑な作業を行う必要がありますが、外観と制御はそれを上回ります。
私は主に SVG を使用しています。つまり、IE8 はありませんが、それはあまり問題になりません。