2013-03-05 23 views
50

Hem d3 hem de Raphael'den etkilendim. Raphael'in D3'ün üzerine kurulmuş ve çapraz tarayıcı uyumlu olduğunu anlıyorum ama hangi senaryolar için hangisinin daha uygun olduğuna emin değilim. Birileri biraz ışık tutabilir mi? Hemen kullanım durumum muhtemelen SIMILE zaman çizelgesini kullanıyor ve onu bir durum diyagramı ile entegre ediyor (d3/Raphael'i kullanmayı planlıyorum). Teşekkürler!D3.js vs Raphael.js

+7

Raphael, D3'ün üzerine inşa edilmiş mi? Emin değilim. – Dve

cevap

41

Raphael D3 üzerinde yerleşik değildir.

Raphael, öğeleri çizmenize yardımcı olacaktır. D3 daha kapsamlı ve verileri öğelere bağlamanıza yardımcı olur. D3'ün daha güçlü olduğunu söyleyebilirim. This forum discussion D3 kullanarak bir SIMILE zaman çizelgesi sunmayı tartışır, D3'te bir zaman çizelgesi uygulayan this project'a başvururlar. Yani ilk bakışta, D3 cevabın. Ancak, sizin için SIMILE zaman çizelgesini idare eden D3 için bir widget olmadığı göz önüne alındığında, ya Raphael ya da D3 iyi bir seçim olabilirdi. Yani, D3'ün internet explorer'ın önceki sürümleriyle iyi çalışmadığı dışında, this article.'da açıklandığı gibi. Yani, daha önceki IE sürümlerini desteklemeniz gerekiyorsa, Raphael ile daha iyi durumdasınız.

26

D3, Raphael'den daha fazla öğrenmek zordur, ancak her iki durumda da, daha iyi animasyonlar oluşturabilmek için SVG'yi öğrenmeniz gerekecektir. Öte yandan, normal olarak D3 görselleştirmelerinin, benzer Hazırlama veya Raphael örneklerinden daha az matematiğe ihtiyacı vardır, çünkü halihazırda çok sayıda önceden paketlenmiş düzen vardır.

Ben D3 bariz bir nedenle daha iyi bir seçim olduğunu söyleyebilirim: D3 standartları yığını geçerli web dayanmaktadır (HTML, DOM - Nefret bile bunu kullanmak gerekir, CSS, SVG, hatta Tuval), ve verilerle çalışmak için bir kütüphanedir. algoritma ve düzenleri (kuvvet düzenleri, yığın düzenleri, ağaçlar, vs.)

  • ton
  • temel veri
  • ile işlevselliği (iç içe geçme, çapraz, grup çekişmeler: veri çerçevesi olarak, D3 ile dolu geliyor ,
  • jQuery tarzı seçimleri,
  • ve ayrıca görselleştirme ilkeller (d3.svg basit grafikler için gereken her şeyi ile geliyor) http://bl.ocks.org/phoebebright/raw/3176159/): - toplamaları bu örneklere bakın.

D3 olduğu gibi çoğu durumda Raphael ve İşleme'den daha iyi değildir, aynı zamanda jQuery, underscore.js ve diğer çerçeveler için de geçerli bir yedektir. Üstüne yerleştirilmiş çok sayıda grafik kütüphanesi vardır, bu yüzden her zaman serin grafikte sürükleyip bırakabilir ve etrafındaki veri paketini yeniden yazabilirsiniz. Bir kamu danışman olarak http://biovisualize.github.com/d3visualization/#visualizationType=timeline

+2

Sadece burada açık olması için, d3 jQuery'nin yerine geçemez, çünkü d3 tarayıcı uyumluluğu üzerinde bir iddiada bulunmazken jquery, uyumluluk katmanı rolüne sahiptir. – Core

+0

Elbette haklısınız, ancak belirli bir ürünün yöneticileri/geliştiricilerinin yapmaya karar vermesine bağlıdır. Tarayıcı uyumluluğuna ilgi duymuyorlarsa, d3'ü göz önünde bulundurmak kolay bir jQuery, alt çizgi veya başka bir araç değişimi de daha kolaydır. – paxRoman

10

Ben Raphael öğrenme müşterilerim eski sürümlerini kullanmak çok zaman beri benim için daha iyi bir yatırım olduğunu fark ettik:

Bu arayüzü kullanarak bazı iyi zaman çizelgesi örnekler bulabilirsiniz tarayıcılar. Şu anki müşterim, yalnızca Raphael'in mükemmel bir şekilde çalıştığı ve D3'ün yapmadığı IE7'yi kullanıyor.

Şahsen, D3'ü kullanmayı tercih ediyorum ama profesyonel olarak bu benim durumumun gerçekliği değil.

+2

hala D3'ü kullanamayacağınız bir durum mu? – Nikos

15

Her ikisi de farklı hayvanlar.

RaphaelJS basitleştirmek ve SVG ve VML dayalı vektör grafikleri için fonksiyonları genişletmek.

D3js yalnızca DOM'ı kullanın ve grafik standartlarına (SVG ve Canvas, Çubuk grafikler üzerinde de kullanabilirsiniz) çizin. Örneğin, d3.svg.symbol(), d parametresinin içeriğini, SVG üzerindeki path öğesine iletmek için döndürür, ancak sembolü kendiliğinden çizmeyin.

Sen verileri işlemek ve Raphael ile çizmek D3js kullanabilirsiniz.

This blog

D3js + Raphael birleştirmek açıklanmaktadır. Ve D3 for Raphael uygulamasını da kontrol edin.