2012-06-21 29 views
6

SVG için çok yeni (her şeyi aramak için D3.js'yi kullanıyorum). Son zamanlarda üzerinde çalıştığım bir proje ile büyük bir sınırlama geldi. Çalıştığım her veri kategorisi için "g" sınıfları yapabilmek istiyorum. Ne yazık ki, veriyi sadece tek bir şekilde bağlayan bir XML dosyasından alıyorum (örn: kişi1 ---> kişi2, ancak kişi2 ---> kişi1). Yapmak istediğim şey, verilerimden oluşturulan her şekli kök sınıfında VE bağlandığı sınıfta koymaktır. Eğer bu şekli iki ya da daha fazla sınıfa ekleyebilirsem (örneğin, g class = person1 ve person2), bu benim inandığım en hızlı çözüm olurdu ... Ama böyle bir şey mümkün mü? İki veya daha fazla sınıfa SVG şekli ayarlayabilir miyim? Ya da yenilerini tanımlarken onun üzerine yazacak mı?Birden Çok Sınıf SVG'de

Gerçekten birilerinin ne istediğimi anlayabileceğini umuyorum. Son projemin her detayını vermeden problemimi ifade etmek çok zor.

cevap

11

Evet, birden çok sınıf ayarlayabilirsiniz. Örneğin,

D3 içinde
<g class="person1 person2"> 

Veya:

g.attr("class", "person1 person2"); 
+1

Bu inanılmaz haber. Patronumun önerdiği geçici çözüm muhtemelen yaklaşık bir ay sürecek (JS, D3 ya da İngilizcede akıcı değil), bu yüzden yaklaşımının neden çok hantal olduğunu açıklamak çok zordu. Bu bilgi ile, bir hafta içinde yapılabilir. – 1080p

+2

Ayrıca, tüm çalışmalarınız için teşekkürler! Birkaç hafta önce veri görselleştirme stajım var. Son derece dinamik bir ağ görselleştirme üzerinde çalışmak için görev verildi. Bazı araştırmalardan sonra d3 ile ana çizim kütüphanem olarak gittim. Github galeriniz ve yayınladığınız eğitimler beni bu projenin her adımına taşıdı. – 1080p

0

bir not daha: Eğer bir dosya içinde bir işlevi arıyorsan:

.attr("class",function(d) { return d.person1+" "+ d.person2;} ) 
İlgili konular