私は d3 と Raphael の両方に魅了されています。Raphael がD3 の上に構築されており、ブラウザー間の互換性があることは理解していますが、どちらがどのシナリオに適しているかはわかりません。誰か光を当ててくれませんか?私の当面のユースケースは、潜在的に SIMILE タイムラインを使用し、それを状態図 (d3/Raphael を使用する予定) と統合することです。ありがとう!
4 に答える
RaphaelはD3上に構築されていません。
ラファエルはあなたが要素を描くのを手伝います。D3はより包括的であり、データを要素にバインドするのに役立ちます。つまり、D3の方が強力だと思います。このフォーラムディスカッションでは、D3を使用したSIMILEタイムラインの提示について説明します。彼らは、D3でタイムラインを実装するこのプロジェクトを参照しています。したがって、一見すると、D3があなたの答えです。
ただし、SIMILEタイムラインを処理するD3のウィジェットがないように思われる場合は、RaphaelまたはD3のいずれかを選択することをお勧めします。つまり、この記事で説明されているように、D3がInternetExplorerの以前のバージョンではうまく機能しないという事実を除いて。したがって、以前のバージョンのIEをサポートする必要がある場合は、Raphaelを使用することをお勧めします。
D3 は Raphael よりもはるかに習得が困難ですが、どちらの場合も、より優れたアニメーションを作成するには SVG も習得する必要があります。一方、通常、D3 ビジュアライゼーションは、すでにパッケージ化されたレイアウトが多数あるため、同様の Processing または Raphael の例よりも数学を必要としません。
明らかな理由から、D3 がより良い選択であると言えます。D3 は現在の Web 標準スタック (HTML、DOM - たとえ嫌いでも、それを使用する必要があります、CSS、SVG、さらには Canvas) に基づいており、ライブラリです。データを扱うため。データ フレームワークである D3 には、次の機能も搭載されています。
- 大量のアルゴリズムとレイアウト (強制レイアウト、スタック レイアウト、ツリーなど)、
- いくつかの基本的なデータ ラングリング機能 (ネスト、クロス、グループ化、ロールアップ - これらの例を参照してください: http://bl.ocks.org/phoebebright/raw/3176159/ )、
- jQuery スタイルの選択、
- また、視覚化プリミティブ (d3.svg には、単純なグラフィックに必要なものがすべて付属しています)。
現状では、d3 は多くの場合 Raphael や Processing よりも優れているだけでなく、jQuery、underscore.js、およびその他のフレームワークの実行可能な代替品でもあります。その上に構築された多くのチャートライブラリがあるため、いつでもクールなチャートをドラッグアンドドロップして、その周りのデータラッパーを書き換えることができます.
このインターフェイスを使用して、いくつかの良いタイムラインの例を見つけることができます: http://biovisualize.github.com/d3visualization/#visualizationType=timeline