Je suis fasciné par D3 et Raphaël. Je comprends que Raphael est construit sur D3 et qu’il est compatible avec tous les navigateurs, mais je ne sais pas lequel est le mieux adapté à quels scénarios. Quelqu'un peut-il s'il vous plaît faire la lumière? Mon cas d'utilisation immédiat est d'utiliser potentiellement le scénario SIMILE et de l'intégrer à un diagramme d'états (pour lequel j'ai l'intention d'utiliser d3 / Raphael). Merci!
Réponses
Trop de publicités?Raphaël n'est pas construit sur le D3.
Raphaël va vous aider à attirer des éléments. D3 est plus complet et vous aidera à lier des données à des éléments. Je dirais donc que D3 est plus puissant. Ce forum de discussion Traite de la présentation d'une IMAGE de la timeline à l'aide de D3, ils se réfèrent à ce projet qui met en œuvre un montage en D3. Donc, à première vue, D3 est votre réponse.
Toutefois, étant donné qu'il ne semble pas être un widget pour la D3, qui gère l'IMAGE de la timeline pour vous, Raphaël ou D3 pourrait être un bon choix. Qui est, sauf pour le fait que D3 ne fonctionne pas bien avec internet explorer versions antérieures, comme expliqué dans cet article. Donc, si vous avez besoin de support des versions antérieures d'IE, vous êtes mieux avec Raphaël.
D3 est beaucoup plus difficile à apprendre que Raphaël, mais dans les deux cas, vous devrez également apprendre SVG pour être en mesure de créer de meilleures animations. D'autre part, normalement, D3 visualisations ont besoin de moins de mathématiques que le Traitement similaires ou Raphaël exemples car il y a beaucoup de préemballés dispositions déjà.
Je dirais D3 est le meilleur choix pour une raison évidente: D3 est basé sur les standards web actuels de la pile (HTML, DOM - même si vous détestez vous avez besoin de l'utiliser, CSS, SVG, même Toile), et est une bibliothèque pour travailler avec les données. Étant une infrastructure de données, D3 est également livré emballé avec:
- des tonnes d'algorithmes et de mises en page (mise en page, de pile de mises en page, des arbres, etc),
- quelques données de base querelles fonctionnalité (nidification, la croix, groupe par, des cumuls de voir ces exemples: http://bl.ocks.org/phoebebright/raw/3176159/),
- jQuery style sélections,
- et aussi la visualisation des primitives (d3.svg est livré avec tout ce dont vous avez besoin pour de simples graphiques).
Comme il se d3 n'est pas seulement de mieux que de Raphaël et de Traitement dans de nombreux cas, mais est également une solution de remplacement viable pour jQuery, underscore.js et d'autres cadres. Il y a beaucoup de cartographie des bibliothèques construit sur elle, de sorte que vous pouvez toujours faire glisser et déposer quelques frais de graphique et de réécrire les données wrapper autour d'elle.
Vous pouvez trouver quelques bonnes chronologie des exemples d'utilisation de cette interface: http://biovisualize.github.com/d3visualization/#visualizationType=timeline
Les deux sont différents animaux.
RaphaelJS de simplifier et d'élargir les fonctions de graphiques de vecteur basé sur le format SVG et VML.
D3js juste de manipuler le DOM et reposent sur des standards graphiques SVG (et de la Toile, sur les Barres, les graphiques que vous pouvez utiliser des DIVs trop) pour dessiner. Par exemple d3.svg.symbol()
retourne le contenu de l' d
paramètre à passer à l' path
élément sur le SVG, mais ne pas dessiner le symbole en lui-même.
Vous pouvez utiliser D3js pour manipuler les données et en tirer avec Raphaël.
Ce blog expliquer comment combiner D3js + Raphael. Et vérifier D3 pour Raphaël mise en œuvre trop.
En tant que secteur public consultant, j'ai trouvé que l'apprentissage de Raphaël a été un meilleur investissement pour moi, car beaucoup de temps à mes clients d'utiliser les anciennes versions de navigateurs. Mon client utilise IE7 exclusivement Raphaël qui fonctionne parfaitement et D3 ne le fait pas.
Personnellement, je préfère être à l'aide de D3, mais professionnellement c'est pas la réalité de ma situation.