2011-07-29 21 views
9

Bir grafikle en iyi temsil edilen veri kümem var. Yönlendirilmiş kenarları olan 6 veya 7 farklı "tip" düğümden oluşur (birbirine bağımlılıklar, döngüsel bağımlılıklara sahip olmamak garantilidir). Veri kümesi, esasen katmanlı bir konfigürasyonun bir şablonudır ve kullanıcının, arzu edilen farklı katmanlardan, bitlerin ve parçaların parçalarını seçebilmesi ve bağımlı bitlerin otomatik olarak getirilmesini gerektirmesi gerekmektedir. Bir kullanıcı seçmek veya çoklu seçim kutularından un seçim öğeleri (her bir düğüm tipi için bu tür bir kutu) ve sahip olmasıJavascript yönelimli asiklik grafik kütüphanesi? (Grafik görselleştirme gerekli DEĞİLDİR)

genel UI ihtiyacıdır "bağlı on" öğeleri seçilir ya da seçilmemiş hale diğer kutulara ihyaç olduğu gibi. Veri kümesini sunucudan indirebilmeli, kullanıcının istenen bitleri seçmesine izin vermeliyim (bağımlılık işlemi, istemci tarafında javascript ile yanıtlama için yapılır) ve ardından bittiğinde sonucu geri göndermelidir.

Veri kümesi, aslında bir grafik olarak gösterilmesinin kullanıcı için çok büyük ve kafa karıştırıcı olabileceği kadar büyük ve karmaşıktır. Gerekli olan tek şey, bağımlılıkları seçimleri arttırmak olduğundan, yalnızca temel grafik geçiş işlemlerine ihtiyaç vardır. (Örneğin, bir düğümü seçmeyen bir kullanıcı, düğümlerin bağımlılıklarının seçilmesine neden olur ve eğer hala bağlı olan başka bir düğüm yoksa, düğümün seçilmesi, bu düğümün tüm bağımlılıklarının seçilmesine neden olur.) Başlangıç ​​düğümünden yönlendirilmiş kenarları takip eden basit derinlik veya genişlikli ilk arama, etkilenen tüm düğümleri ziyaret etmek için yeterli olacaktır. Kenarları her iki yönde de takip edebilirsem, bonus. (Eğer kolay bir şekilde kenar tersine çevrilmiş bir grafik oluşturabilir ve gerektiğinde kullanabilirim.)

Burada kazdım ve javascript grafik görselleştirme kitaplıklarına referanslar bulduk, ancak bu tartışmaların çoğu yorumluyor gibi görünüyor. grafik "olarak" grafik ve burada hiçbir grafik ihtiyacı yok. Benim kazım beni bu listeye götürdü: Raphael, protovis, parlama, D3, jsVis, Dracula ve prefuse. Bu listeden jsVis ya da Dracula'nın görselleştirme tarafını görmezden gelmem gerekiyorsa gerekli olan temel grafik yapılarına sahip olabileceğini düşünüyorum, ancak bu durumda dokümantasyondan açık değil. Bir kaçını devre dışı bırakmak zorundayım çünkü herhangi bir flaş bağımlılığı getiremiyorum. Ne yazık ki, bu birçok kütüphaneyle işleri prototiplemek için zamanım yok. (JsVis ve dracula'ya kazacağım, daha kullanışlı olsa da, burada daha kullanışlı bir giriş yapmam gerekiyor.)

Herhangi biri bu listeden bir şey tecrübesine sahipse ve bunun grafik bölümünün görselleştirme kısmından bağımsız olarak kullanılabileceğine inanıyorsa, kesinlikle ihtiyaçlarımızı karşılayacak. İhtiyaçları karşılayan başka bir kütüphane varsa, bu da harika olurdu. Lisanslama ile ilgili son bir gereklilik: kütüphanenin copyleft olmayan bir şekilde "ücretsiz" olması gerekir - İdeal olarak Apache v2.0, BSD, MIT veya bunun gibi bir şey.

+1

Kendi çözümünüzü gerçekleştirdiniz mi? Eğer öyleyse, herhangi bir yerde kullanılabilir mi? – steeveeet

cevap

7

Kullanmadım, ancak data.js ürününü incelemek isteyebilirsiniz. Bir dizi veri yapısı yardımcı programına sahip MIT lisanslı bir kütüphanedir. Özel olarak, bu içerir Data.Node ve Data.Graph A Data.Graph isteğe bağlı karmaşık bir amacı grafikler temsil kullanılabilir

. Nesneler arasındaki ilişkiler, yönlendirilen nesnelere işaret eden bağlantılar aracılığıyla ifade edilir. Data.Graphs çeşitli şekillerde çaprazlanabilir.

+0

Teşekkürler, bu sabah bakmak için biraz zaman harcadım ve gerçekten ihtiyacım olanı yapacağından emin değilim. Belgelere çok açık ve örnek CouchDB ve node.js. koşmamı istiyor. Gerçekten ihtiyacım olan tek şey basit bir ağaç geçişidir, sanırım kendi başıma dönebilirim, ama eğer data.js kullanırsam geri dönüp bunu cevap olarak işaretleyeceğim. –

İlgili konular