54

私は d3 と Raphael の両方に魅了されています。Raphael がD3 の上に構築されており、ブラウザー間の互換性があることは理解していますが、どちらがどのシナリオに適しているかはわかりません。誰か光を当ててくれませんか?私の当面のユースケースは、潜在的に SIMILE タイムラインを使用し、それを状態図 (d3/Raphael を使用する予定) と統合することです。ありがとう!

4

4 に答える 4

46

RaphaelはD3上に構築されていません。

ラファエルはあなたが要素を描くのを手伝います。D3はより包括的であり、データを要素にバインドするのに役立ちます。つまり、D3の方が強力だと思います。このフォーラムディスカッションでは、D3を使用したSIMILEタイムラインの提示について説明します。彼らは、D3でタイムラインを実装するこのプロジェクトを参照しています。したがって、一見すると、D3があなたの答えです。

ただし、SIMILEタイムラインを処理するD3のウィジェットがないように思われる場合は、RaphaelまたはD3のいずれかを選択することをお勧めします。つまり、この記事で説明されているように、D3がInternetExplorerの以前のバージョンではうまく機能しないという事実を除いて。したがって、以前のバージョンのIEをサポートする必要がある場合は、Raphaelを使用することをお勧めします。

于 2013-03-05T09:30:44.500 に答える
27

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

于 2013-03-05T11:20:48.560 に答える