Yanıtlar:
Saf JavaScript grafikleri için Flash gerektirmeyen artan sayıda Açık Kaynak ve ticari çözüm bulunmaktadır. Bu yanıtta yalnızca Açık Kaynak seçeneklerini sunacağım.
Flash gerektirmeyen grafikler için 2 ana JavaScript çözümü sınıfı vardır:
Her iki yaklaşımın artıları ve eksileri vardır, ancak bir grafik kütüphanesi için daha sonra tavsiye ederim çünkü DOM ile iyi entegre edilmiştir, grafik öğelerini DOM ile değiştirmeye izin verir ve en önemlisi DOM olaylarını ayarlar. Buna karşılık Canvas grafik kitaplıkları, etkinlikleri yönetmek için DOM tekerleğini yeniden icat etmelidir. Dolayısıyla, olay işleme olmadan statik grafikler oluşturmak istemiyorsanız, SVG / VML çözümleri daha iyi olmalıdır.
SVG / VML çözümleri için aşağıdakiler dahil birçok seçenek vardır:
Raphael , IE 6 ila 8, Firefox, Opera, Safari, Chrome ve Konqueror gibi çok iyi çapraz tarayıcı desteğine sahip çok aktif, bakımlı ve olgun, açık kaynaklı bir grafik kütüphanesidir. Raphael herhangi bir JavaScript çerçevesine bağlı değildir ve bu nedenle Prototip, jQuery, Dojo, Mootools, vb.
Raphael'i temel alan (ancak bunlarla sınırlı olmayan) bir dizi grafik kütüphanesi vardır:
Açıklama: Github'daki Ico çatallarından birinin geliştiricisiyim .
JQuery kullanıyorsanız flot'u çok iyi buldum - ihtiyaçlarınıza uygun olup olmadıklarını görmek için örnekleri deneyin , ancak mevcut projem için ihtiyaç duyduğum şeylerin çoğunu yaptıklarını gördüm.
Ek olarak ExtJS 4.0 , çok güçlü ve canlı verilerle çalışacak şekilde tasarlanmış harika bir grafik seti sundu.
Check out http://www.highcharts.com !
Highcharts, saf JavaScript ile yazılmış, web sitenize veya web uygulamanıza etkileşimli grafikler eklemenin kolay bir yolunu sunan bir grafik kütüphanesidir. Highcharts şu anda çizgi, spline, alan, alan çizgisi, sütun, çubuk, pasta ve dağılım grafik türlerini desteklemektedir.
Tam olarak aradığınız şey olmayabilir, ancak
Google'ın Grafik API'sı oldukça havalı ve kullanımı kolaydır.
SVG'ye dayanan başka bir javascript kütüphanesi var. Buna Protovis adı verilir ve Stanford Görselleştirme Grubundan gelir
Ayrıca hoş etkileşimli grafikler ve görselleştirmeler yapmanıza olanak tanır.
http://vis.stanford.edu/protovis/ex/
Her ne kadar sadece modern web tarayıcıları için olsa da
GÜNCELLEME: Protovis ekibi d3.js (Veriye Dayalı Belgeler) adlı başka bir kütüphaneye dedikleri gibi taşındı:
"Protovis ekibi artık animasyon ve etkileşim için geliştirilmiş desteğe sahip yeni bir görselleştirme kütüphanesi olan D3.js'yi geliştiriyor. D3, Protovis'teki kavramların çoğunu temel alıyor"
Yeni kütüphane artık şu adreste bulunabilir:
http://mbostock.github.com/d3/
GÜNCELLEME 2:
"Rickshaw" interaktif zaman serisi grafikleri oluşturmak için bir JavaScript araç takımıdır. D3.js'ye dayanarak, d3.js ile çalışmayı çok daha basitleştirmesine rağmen, biraz daha az güçlüdür.
Son zamanlarda bir javascript grafik kitaplığı arıyordum ve nihayet benim gereksinimleri çok iyi uygun jqplot üzerinde yerleşmeden önce bir demet değerlendirdi . Jean Vincent'ın cevabından da anlaşılacağı gibi, gerçekten tuval tabanlı ve svg tabanlı çözüm arasında seçim yapıyorsunuz.
Bana göre büyük artılar ve eksiler aşağıdaki gibiydi. Yüksek dinamik / etkileşimli grafikler oluşturmak istiyorsanız Raphael (ve offshoots) gibi SVG tabanlı çözümler harikadır. Veya grafik gereksinimleriniz normların çok dışındaysa (örneğin, bir tür karma grafik oluşturmak istiyorsanız veya başka hiç kimsenin düşünmediği yeni bir görselleştirme buldunuz). Dezavantajı öğrenme eğrisi ve yazmanız gereken kod miktarıdır. Birkaç dakika içinde grafikleri vurmayacaksınız, gerçek öğrenme zamanına yatırım yapmaya ve daha sonra nispeten basit bir grafik oluşturmak için iyi miktarda kod yazmaya hazır olmayacaksınız.
Grafik gereksinimleriniz makul düzeyde standartsa, örneğin sınırlı etkileşim ile bazı çizgi veya çubuk grafikler veya belki bir pasta grafik istiyorsanız, o zaman tuval tabanlı çözümlere bakmaya değer. Herhangi bir öğrenme eğrisi neredeyse olmayacak, birkaç dakika içinde temel grafikleri elde edebileceksiniz, çok fazla kod yazmanız gerekmeyecek, birkaç satır temel javascript / jquery ihtiyacınız olacak. Tabii ki, sadece kütüphanenin desteklediği, genellikle çeşitli çizgi, bar, pasta lezzetleriyle sınırlı olan belirli grafik türlerini üretebileceksiniz. Etkileşim seçenekleri son derece sınırlı olacaktır, yani daha iyi olanlarla bazı sınırlı hover efektleri mümkün olsa da, oradaki kütüphanelerin çoğu için mevcut değildir.
Tuval tabanlı bir çözüm olan JQplot ile gittim çünkü sadece bazı standart grafik türlerine ihtiyacım vardı. Araştırmalarımdan ve çeşitli seçeneklerle oynamaktan, tam özellikli olduğunu gördüm (yalnızca standart grafiklerden sonraysanız) ve kullanımı son derece kolay, bu yüzden gereksinimleriniz benzerse bunu tavsiye ederim.
Özetlemek, basit ve şimdi grafikler istiyorum, sonra JQplot ile gidin. Karmaşık / farklı ve zaman için basılmamış sonra Raphael ve arkadaşları ile gitmek.
jqPlot harika. Gereksinimleriniz oldukça "normal" ise ve sadece bazı grafikler çizmek istiyorsanız, muhtemelen js grafik seçeneklerinin miktarından bunalmışsınızdır. Saatlerce araştırma yapmak istemediğinizi varsayarsak, muhtemelen en iyi bahsiniz olduğu için jqPlot ile devam edin. Çoğu insan için çoğu kullanım durumunu iyi kapsar. Alternatiflerin bazıları belirli bir grafik türü üzerinde uzmanlaşmıştır veya belirli bir kullanım durumu göz önünde bulundurularak oluşturulmuştur.
Bir tür geç cevap olarak, d3.js'yi deneyin
http://mbostock.github.com/d3/
Bu protovisin devamıdır.
Flot ile ilgili en büyük fark desteklenen özellik sayısındadır.
Flot daha basit olsa da, d3.js kesinlikle daha güçlüdür.
PlotKit'i deneyin
Saf JavaScript grafikleri için gRaphaël'i ve bunun üzerine inşa edilen saf JavaScript vektör grafik kütüphanesini ( Raphaël ) tavsiye ederim .
gRaphaël şu anda Firefox 3.0+, Safari 3.0+, Opera 9.5+ ve Internet Explorer 6.0+ sürümlerini desteklemektedir.
temel: http://www.filamentgroup.com/examples/charting_v2/index_2.php
iyi görünümlü: http://www.highcharts.com/
Başka bir RGraph: Javascript çizelgeleri ve grafik kütüphanesi:
Tuval tabanlı, bu yüzden hızlı ve yaklaşık 20 farklı grafik türü var. Ticari olmayan kullanım için de ücretsiz!
En sevdiğim (flot) zaten bahsedildi.
Ancak Ortho'yu araştırdığınızdan emin olun . Ağaç grafikler ve zaman çizelgeleri için mükemmeldir.
Dojo grafik kütüphanesinde çok fazla aktivite var ve harika olan bir AIR uygulamasında problemsiz olarak kullanıyorum, oldukça havalı! Örneğin, bkz. Http://www.sitepen.com/blog/2008/05/27/dojo-charting-event-support-has-landed/
Daha basit Grafik API'sının genelleştirilmesi olan Google Görselleştirme API'sına göz atın
http://code.google.com/apis/visualization/documentation/gallery.html
Haritalar, göstergeler ve grafikler de dahil olmak üzere çok güzel etkileşimli seçeneklere sahiptir.
Yeni başlangıcımız için TechOctave Charts Suite lisansı satın aldık . Onları tavsiye ederim. Lisanslama basittir. Grafikler harika görünüyor! Başlamak kolaydı ve ihtiyaç duyduğumuzda güçlü bir API'ya sahip. Kod ne kadar temiz ve genişletilebilir tarafından şok oldu. Bizim seçim ile gerçekten mutlu.
Bir grafiğe dönüştürülebilen MIT benzetme zaman çizelgesini deneyin - http://simile.mit.edu/timeline/
veya sonuncusu, http://code.google.com/p/gchart/
Bir Javascript kütüphanesi değil, ancak uygun bir alternatif olabilir - sorgulama verilerini web hizmetlerine ileterek grafikler oluşturabileceğiniz Google Grafiklerine göz atın.
Bir göz atın Bluff . Ruby için Gruff grafik kütüphanesinin bir JavaScript portu.
İhtiyacınız olan tek şey protokol
Sencha Raphael'i satın aldı ve şimdi grafikleri 4 sürümünden itibaren saf bir javascript. Emprise ve HighCharts benim iki favorim.
Daha sıra dışı grafikler için: http://thejit.org/
ArcadiaCharts'ı tavsiye edebilirim . JavaScript ve GWT için yepyeni bir profesyonel grafik kütüphanesi. Eklenti olmadan tüm tarayıcılarda çalışır. Kolay ve hızlı kullanım: Sadece birkaç satır kodla mükemmel görünümlü grafikler oluşturur. Reklam amaçlı olmayan kullanımlar için bedava.
Fusion çizelgeleri umut verici görünen yeni bir javascript / jquery kütüphanesine sahiptir.
İhtiyacınız olan şey sadece çubuk grafik ise. Eski bir projede kullandığım bazı kodları yayınladım. Birisi bana VML uygulamasının IE'nin son sürümlerinde bozulduğunu, ancak SVG'nin iyi çalıştığını söyledi. Projeye geri dönebilir ve zaten sahip olduğum bazı sunucu tarafı oluşturucular ve belki de WebGL oluşturma katmanı yayınlayabilir. Bir bağlantı var: http://blog.conquex.com/?p=64
Muhtemelen OP'nin aradığı şey değil, ancak bu soru JS grafik kitaplığı seçeneklerinin bir listesi haline geldiğinden: jQuery Sparklines gerçekten harika.
ZingChart HTML5 Canvas, SVG, VML ve Flash Grafiklerine göz atın . Çok güçlü ve uyumlu bir kütüphane. Zing ekibindeyim - twitter @zingchart'tan bize bahset veya support@zingchart.com adresine soru sor.