回答:
Flashを必要としない純粋なJavaScriptチャート用のオープンソースおよび商用ソリューションが増えています。この回答では、オープンソースのオプションのみを紹介します。
Flashを必要としないグラフィック用のJavaScriptソリューションには、主に2つのクラスがあります。
両方のアプローチには長所と短所がありますが、チャートライブラリについては、DOMと統合されており、DOMを使用してチャート要素を操作でき、最も重要なのはDOMイベントを設定できるため、後者をお勧めします。対照的に、Canvasチャートライブラリは、イベントを管理するためにDOMホイールを再発明する必要があります。したがって、イベント処理なしで静的グラフを作成するつもりでない限り、SVG / VMLソリューションの方が優れています。
SVG / VMLソリューションには、次のような多くのオプションがあります。
Raphaelは、IE 6から8、Firefox、Opera、Safari、Chrome、Konquerorを含む非常に優れたクロスブラウザーサポートを備えた、非常にアクティブで、よく維持され、成熟したオープンソースのグラフィックライブラリです。RaphaelはJavaScriptフレームワークに依存しないため、Prototype、jQuery、Dojo、Mootoolsなどで使用できます。
Raphaelをベースにした(以下に限定されない)チャート作成ライブラリは多数あります。
開示:私はgithubのIcoフォークの開発者です。
jQueryを使用している場合は、flotが非常に優れていることがわかりました。サンプルを試して、ニーズに合っているかどうかを確認してください。
さらに、ExtJS 4.0は優れたグラフセットを導入しました-非常に強力で、ライブデータを操作するように設計されています。
http://www.highcharts.comをチェックしてください!
Highchartsは、純粋なJavaScriptで記述されたグラフ作成ライブラリであり、インタラクティブなグラフをWebサイトまたはWebアプリケーションに簡単に追加できます。Highchartsは現在、折れ線、スプライン、面、エリアスプライン、列、棒、円、散布図のタイプをサポートしています。
それはあなたが探しているものとは正確には違うかもしれませんが、
GoogleのChart APIはとてもクールで使いやすいです。
SVGに基づく別のJavaScriptライブラリがあります。それはプロトビスと呼ばれ、スタンフォード視覚化グループから来ています
また、優れたインタラクティブなグラフィックスと視覚化を作成することもできます。
http://vis.stanford.edu/protovis/ex/
最新のWebブラウザー専用ですが
更新: protovisチームは、d3.js(データドリブンドキュメント)と呼ばれる別のライブラリに移動しました。
「Protovisチームは現在、アニメーションとインタラクションのサポートを改善した新しい可視化ライブラリD3.jsを開発しています。D3は、Protovisの多くの概念に基づいて構築されています。」
新しいライブラリは次の場所にあります。
http://mbostock.github.com/d3/
更新2:
「人力車」は、インタラクティブな時系列グラフを作成するためのJavaScriptツールキットです。少し強力ではありませんが、d3.jsでの作業を大幅に簡素化するd3.jsに基づいています。
私は最近、javascriptチャートライブラリを探していましたが、最終的には自分の要件に非常によく合うjqplotに落ち着く前に全体を評価しました。Jean Vincentの回答が述べたように、あなたは本当にキャンバスベースのソリューションとsvgベースのソリューションのどちらかを選択しています。
私の主な長所と短所は次のとおりです。Raphael(および派生)のようなSVGベースのソリューションは、非常に動的/インタラクティブなチャートを作成する場合に最適です。または、グラフ作成の要件が非常に一般的でない場合(たとえば、ある種のハイブリッドグラフを作成したい場合や、他の誰もまだ考えていない新しい視覚化を思いついた場合)。欠点は、学習曲線と作成する必要があるコードの量です。数分でグラフを作成するのではなく、実際の学習時間を費やして、比較的単純なグラフを作成するために十分な量のコードを書く準備をします。
グラフ作成の要件がかなり標準的なものである場合(たとえば、いくつかの線グラフまたは棒グラフ、あるいはおそらく1つまたは2つの円グラフが必要で、対話性が制限されている場合)、キャンバスベースのソリューションを検討する価値があります。学習曲線はほとんどありません。数分以内に基本的なチャートを作成できます。多くのコードを記述する必要はありません。基本的なjavascript / jqueryの数行で十分です。もちろん、ライブラリがサポートする特定の種類のグラフのみを作成できます。通常、折れ線、棒、円のさまざまな種類に限定されます。対話機能の選択は非常に制限されます。つまり、そこにある多くのライブラリーでは存在しませんが、より良いものではいくつかの限定されたホバー効果が可能です。
私は本当にいくつかの標準的なタイプのチャートしか必要としなかったので、キャンバスベースのソリューションであるJQplotを使いました。私の調査とさまざまな選択肢を試してみたところ、それは合理的にフル機能を備えており(標準的なチャートの後にしかない場合)、非常に使いやすいので、要件が類似している場合はお勧めします。
要約するには、単純で今すぐチャートが必要な場合は、JQplotを使用してください。複雑で異なっていて、時間に追われていないので、ラファエルと友達と一緒に行きます。
jqPlotは素晴らしいです。要件がかなり「普通」で、いくつかのグラフを描画したいだけの場合、jsのグラフ作成オプションの数に圧倒されている可能性があります。何時間も調査したくない場合は、jqPlotを使用することをお勧めします。ほとんどの人のほとんどのユースケースをカバーしています。代替案の中には、特定のタイプのチャートに特化したものや、特定のユースケースを念頭に置いて構築されたものがあります。
ある種の遅い答えとして、d3.js http://mbostock.github.com/d3/を試して
ください
プロトビスの続きです。
flotとの大きな違いは、サポートされる機能の数です。
flotの方が単純かもしれませんが、d3.jsは間違いなくより強力です。
試してみてくださいPlotKitを
もう1つはRGraphです。JavaScriptチャートとグラフライブラリ:
キャンバスベースなので高速で、約20種類のグラフタイプがあります。非商用利用も無料です!
dojoのグラフ作成ライブラリーには多くのアクティビティーがあり、AIRアプリケーションの中で何を問題なく使用しているのもすばらしいことです。たとえば、http://www.sitepen.com/blog/2008/05/27/dojo-charting-event-support-has-landed/を参照してください。
Google Visualization APIを確認してください。これは、より単純なChart APIを一般化したものです。
http://code.google.com/apis/visualization/documentation/gallery.html
マップ、ゲージ、およびチャートを含む非常にクールなインタラクティブオプションがあります。
新しいスタートアップのためにTechOctave Charts Suiteのライセンスを購入しました。私はそれらを強くお勧めします。ライセンスは簡単です。チャートは素晴らしいです!簡単に始めることができ、必要なときに強力なAPIを使用できます。コードがどれほどクリーンで拡張性に優れているかに驚いた。私たちの選択に本当に満足しています。
チャートにできるMITの類似のタイムラインを試してください-http ://simile.mit.edu/timeline/
または最後のもの、http://code.google.com/p/gchart/
JavaScriptライブラリではありませんが、適切な代替手段となる可能性があります。クエリ文字列データをウェブサービスに渡してグラフを生成できるGoogleグラフを確認してください。
SenchaはRaphaelを買収しました。現在、それらのチャートはバージョン4の時点で純粋なjavascriptです。上記のEmpriseとHighChartsは私の2つのお気に入りです。
より珍しいチャート:http : //thejit.org/
ArcadiaChartsをお勧めします。JavaScriptとGWTのための真新しいプロフェッショナルチャートライブラリ。プラグインなしですべてのブラウザで実行されます。簡単で高速:ほんの数行のコードで見栄えの良いグラフを作成します。非商用利用は無料です。
Fusionチャートには、有望に見える新しいjavascript / jqueryライブラリがあります。
必要なのは棒グラフのみの場合。古いプロジェクトで使用していたコードを公開しました。誰かが最近のバージョンのIEでVML実装が壊れていると私に言ったが、SVGは問題なく動作するはずだ。プロジェクトに戻って、すでに持っているサーバーサイドレンダラーと、おそらくWebGLレンダリングレイヤーをリリースしている可能性があります。リンクがあります:http : //blog.conquex.com/?p=64
おそらくOPが探しているものではないでしょうが、この質問はJSチャートライブラリオプションのリストになっているので、jQuery Sparklinesは本当にクールです。
ZingChart HTML5 Canvas、SVG、VML、およびFlashチャートを確認してください。非常に強力で互換性のあるライブラリ。私はZingチームにいます-Twitter @zingchartで私たちに言及するか、support @ zingchart.comに質問を投稿してください。