Ruby on Rails Web アプリケーションでチャートを作成するための推奨方法は何ですか?
-
01-07-2019 - |
質問
Ruby on Rails Web アプリケーションに円グラフ、棒グラフ、散布図を追加したいと考えています。魅力的で追加が簡単で、オーバーヘッドがあまり発生しないようにしたいと考えています。
どのようなグラフ作成ソリューションをお勧めしますか?
欠点は何ですか (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 を生成します。
試してみましたか Google チャート API?- Web サービス API はこれほどシンプルなものはありません。無料で使用でき、実装も簡単で、グラフも見苦しくありません。
フラッシュチャート II を開く は非常に優れた出力を提供する無料のオプションです。ご想像のとおり、Flash が必要です。
融合チャート はさらに素晴らしいですが、価格は 499 ドルです。これを調べていくうちにわかったのが、 カットダウンされた無料バージョン それはあなたのニーズを満たすかもしれません。
新しい Google Visualization は、Google Graphs よりもさまざまなタイプの、見た目が良く、インタラクティブなグラフを生成するようです。
たった今見つけました ジヤ いくつかの非常にセクシーなチャートを生成し、Rails に特化しています。
欠点は、Flash を使用していることと、サイトを XML/SWF ページにリンクしたくない場合は、1 サイトあたり 50 ドルの費用がかかることです。
[まだ決めていませんが、投票してくれる人がいる場合に備えて公開しておきたいと思っています]
私は Java Web アプリケーション内から Fusion Charts を広範囲に使用しましたが、HTML または JavaScript 経由で Flash を埋め込んで XML データを渡すだけなので、Rails でも同じように機能するはずです。洗練されたパッケージで、サポートは常に非常に敏感です。
見てみるといいよ ドミトリー・バラノフスキーの 呼び出される Javascript ライブラリ ラファエル.
Google チャートは非常に優れていますが、Rails のみのソリューションではありません。選択したプログラミング言語を使用して、データを含む URL を動的に生成するだけで、Google はグラフとともに素敵な画像を返します。
昔、私は自分で (RVG/RMagick を使用して) ロールすることに決めました。主な理由は、Gruff には私が望むものすべてがなかったからです。欠点は、コードをグラフ化する際にすべてのバグを見つけて取り除くのが面倒なことです。カスタマイズ性と柔軟性の点で非常に進歩しているため、最近では Gruff を選択しています。
ただし、標準的な Gruff テンプレート/色の選択は最悪なので、最良の結果を得るには手を汚す必要があります。
に関して アムチャート, 、「chart by amCharts.com」の記載を含む Flash チャートを生成する、ごくわずかな制限付きの「無料」バージョンがあります。
素敵なプラグインもあるのですが、 ぶらぶらする, 、ビューにグラフを簡単に追加するためのいくつかのヘルパー メソッドが提供されます。その点に注意してください amCharts.com リファレンス ドキュメント 要件に合わせてチャートを調整するには依然として必須です。
GoogleCharts と Gruff charts は優れていますが、より科学的なプロットに必要な機能が欠けていることがあります。これらの状況の一部に役立つ gnuplot 用の gem があります。
私は個人的には、Flash よりも JavaScript ベースのグラフを好みます。良かったらこちらもチェックしてみてください ハイチャート. 。あ Railsプラグイン も利用可能です。
これを行うには、gnuplot にシェルアウトしてサーバー側で PNG としてチャートを生成します。少し時代遅れで、グラフはインタラクティブではありませんが、機能し、キャッシュ可能です。
(これを行うもう 1 つの理由は、レポートの PDF バージョンにまったく同じグラフを挿入できるようにするためです)。
これは特に RoR ではありませんが、Gruff を JavaScript に非常に巧妙に移植したものです。 http://bluff.jcoglan.com/
チャートディレクター. 。API は醜いですが、サーバー側の画像結果は良好です。自己完結型バイナリ。
FWIW、私はフィット感と仕上がりが重要な場合に Google チャートを使用するのが好きではありません。特にサイジングの変数は予測不可能であることがわかりました。グラフは独自の動作をします。
私はまだ Gruff/Bluff などを使用していませんが、より注目度の高いプロジェクトの場合は Google Chart を使用しません。
非常にセクシーなチャートが必要で、生成が簡単で、Flash を有効にできる場合は、間違いなくご覧になる必要があります。 maani.us XML/SWF チャート.
XML ビルダーが背後にあるので、準備は完了です。
フュージョンチャート は非常に優れたチャート製品です。RoRとの相性も抜群です。彼らのサポートとフォーラムは充実しています。この製品の無料版には、グラフと機能の数が制限されていますが、ウォーターマークはありません。
Rails 3 プロジェクトで googlecharts を使い始めたところです。これは素晴らしくクリーンで、生きている唯一の Google Visualization API ベースの gem のようです。他のものは非アクティブで、主に古い Google charts API (2007 年から 2008 年のどこかにリリースされた) を使用しています。
D3 見栄えの良いグラフを Web アプリに追加する私のお気に入りの方法になりました。他のフレームワークよりも少し面倒な作業を行う必要がありますが、外観と制御はそれを上回ります。
私は主に SVG を使用しているため、IE8 は使用できませんが、それはあまり問題ではなくなりつつあります。
gem 'chart'
ChartJS および NVD3 チャートをレールに簡単に追加できます。