JavaScript图表库

2020/10/13 15:41 · javascript ·  · 0评论

有人会推荐一个特定的JavaScript图表库-特别是根本不使用Flash的图书馆吗?

越来越多的不需要Flash的用于纯JavaScript制图的开源和商业解决方案。在此回复中,我将仅介绍开放源代码选项。

对于不需要Flash的图形,有两种主要的JavaScript解决方案类:

  • 基于画布,基于IE使用ExplorerCanvas呈现,而后者又依赖于VML
  • 基于标准的浏览器上的SVG,在IE中呈现为VML

两种方法都有优点和缺点,但对于制图库,我建议使用后者,因为它与DOM集成良好,可以使用DOM操作图表元素,最重要的是设置DOM事件。相比之下,Canvas制图库必须重新发明DOM轮以管理事件。因此,除非您打算构建没有事件处理的静态图,否则SVG / VML解决方案应该更好。

对于SVG / VML解决方案,有很多选择,包括:

Raphael是一个非常活跃,维护良好且成熟的开源图形库,具有很好的跨浏览器支持,包括IE 6至8,Firefox,Opera,Safari,Chrome和Konqueror。Raphael不依赖任何JavaScript框架,因此可以与Prototype,jQuery,Dojo,Mootools等一起使用。

有许多基于Raphael的图表库,包括(但不限于):

  • gRaphael是Raphael图形库的扩展
  • Ico具有基于单个函数调用的直观API,可以创建复杂的图表

披露:我是github上Ico分支之一的开发人员

如果您使用的是jQuery,我发现flot非常好-试用示例以查看它们是否满足您的需求,但我发现它们可以满足当前项目的大部分需求。

另外,ExtJS 4.0引入了一套非常强大的图表,功能非常强大,旨在处理实时数据。

查看http://www.highcharts.com

Highcharts是一个用纯JavaScript编写的图表库,它提供了一种将交互式图表添加到您的网站或Web应用程序的简便方法。Highcharts当前支持折线图,样条图,面积图,面线图,柱形图,条形图,饼图和散点图类型。

它可能并不完全符合您的要求,但是
Google的Chart API非常酷并且易于使用。

还有另一个基于SVG的JavaScript库。它叫做Protovis,来自斯坦福视觉化集团

它还允许制作精美的交互式图形和可视化图像。

http://vis.stanford.edu/protovis/ex/

尽管仅适用于现代Web浏览器

更新: protovis团队已经转移到另一个名为d3.js(数据驱动文档)的库,因为他们说:

“ Protovis团队现在正在开发新的可视化库D3.js,并增强了对动画和交互的支持。D3建立在Protovis的许多概念之上”

现在可以在以下位置找到新库:

http://mbostock.github.com/d3/

更新2:

“人力车”是用于创建交互式时间序列图的JavaScript工具包。基于d3.js的功能简化了d3.js的工作,尽管功能稍逊一筹。

http://code.shutterstock.com/rickshaw/

最近,我正在寻找一个javascript图表库,并在最终选择非常适合我的jqplot之前评估了一大堆正如Jean Vincent的回答所提到的,您实际上是在基于画布的解决方案和基于svg的解决方案之间进行选择。

在我看来,主要的利弊如下。如果您想构建高度动态/交互性的图表,则基于Ravel(和分支)之类的基于SVG的解决方案非常有用。或者,如果您对制图的要求远远超出了常规(例如,您想创建某种混合图,或者想出了一种新的可视化效果,而其他人还没有想到)。缺点是学习曲线和您必须编写的代码量。您不会在几分钟之内搞定图表,准备投入一些实际的学习时间,然后编写大量的代码来生成相对简单的图表。

如果您的制图要求是合理的标准,例如,您需要一些交互性有限的折线图或条形图,或者一两个饼图,那么值得考虑使用基于画布的解决方案。几乎没有学习曲线,您将能够在几分钟之内获得基本图表,您无需编写大量代码,只需几行基本的javascript / jquery就可以了。当然,您将只能生成库支持的特定类型的图表,通常仅限于各种样式的折线,条形图,饼图。交互性选择将受到极大的限制,也就是说,对于其中的许多库来说,交互选择是不存在的,尽管更好的库可能会产生一些有限的悬停效果。

我选择了JQplot,它是一个基于画布的解决方案,因为我只真正需要一些标准类型的图表。通过我的研究和各种选择,我发现它功能齐全(如果您只追求标准图表)并且非常易于使用,因此如果您的要求相似,我建议您这样做。

总结起来,现在就简单和想要图表,然后使用JQplot。复杂/不同,没有时间紧迫,然后与Raphael和朋友一起去。

jqPlot很棒。如果您的需求相当“正常”,而您只想绘制一些图表,那么您可能会因为js图表选项的数量而感到不知所措。假设您不想进行数小时的研究,请选择jqPlot,因为这可能是您最好的选择。它很好地涵盖了大多数人的大多数用例。有些替代方法专门针对某种类型的图表或在考虑特定用例的情况下构建。

作为某种较晚的答案,请尝试d3.js
http://mbostock.github.com/d3/

这是protovis的延续。

flot的最大区别在于支持的功能数量。


尽管flot可能更简单,但d3.js绝对更强大。

Flotr是另一个基于Prototype并受Flot启发的纯Javascript图表库

尝试PlotKit

我建议使用gRaphaël进行纯JavaScript图表绘制,并为其构建的纯JavaScript矢量图形库(Raphaël)。

gRaphaël当前支持Firefox 3.0 +,Safari 3.0 +,Opera 9.5+和Internet Explorer 6.0+。

基本:http//www.filamentgroup.com/examples/charting_v2/index_2.php

美观:http : //www.highcharts.com/

另一个是RGraph:JavaScript图表和图形库:

http://www.rgraph.net

基于画布,因此运行速度很快,大约有20种不同的图表类型。它也可免费用于非商业用途!

我的最爱(羊群)已经被提及。

但是一定要调查Ortho它非常适合树状图和时间表。

dojo图表库中有很多活动,而且在AIR应用程序中使用它也没有问题,这太好了,太酷了!参见例如http://www.sitepen.com/blog/2008/05/27/dojo-charting-event-support-has-landed/

查看Google Visualization API,它是对更简单的Chart API的概括

http://code.google.com/apis/visualization/documentation/gallery.html

具有非常酷的交互选项,包括地图,量表和图表。

我们刚刚为新创业公司购买了TechOctave Charts Suite的许可证我强烈推荐他们。许可很简单。图表看起来很棒!它很容易上手,并且在需要时具有强大的API。代码是如此干净和可扩展,令我震惊。真的很满意我们的选择。

尝试将MIT明喻的时间线制成图表-http: //simile.mit.edu/timeline/

或最后一个http://code.google.com/p/gchart/

不是Javascript库,而是一个合适的选择-查看Google图表,您可以在其中通过将查询字符串数据传递到其Web服务来生成图表。

看看布拉夫它是Ruby的Gruff图形库的JavaScript端口。

原型图就是您所需要的

Sencha收购了Raphael,现在他们的图表从版本4开始就是纯JavaScript。上面提到的Emprise和HighCharts是我的两个最爱。

http://www.sencha.com/

有关更不寻常的图表:http : //thejit.org/

我可以推荐ArcadiaCharts用于JavaScript和GWT的全新专业图表库。在没有插件的所有浏览器中运行。易于使用和快速:只需几行代码即可创建美观的图表。免费用于非商业用途。

Fusion Charts有一个新的javascript / jquery库,看起来很有希望。

如果您只需要条形图。我发布了一些在旧项目中一直使用的代码。有人告诉我VML的实现在IE的最新版本上已被破坏,但是SVG应该可以正常工作。可能会回到项目并发布一些我已经拥有的服务器端渲染器,也许还会发布WebGL渲染层。有一个链接:http : //blog.conquex.com/?p=64

可能不是OP在寻找什么,但是由于这个问题已成为JS图表库选项的列表:jQuery Sparklines真的很酷。

查看ZingChart HTML5 Canvas,SVG,VML和Flash Charts非常强大且兼容的库。我在Zing团队中-在Twitter @zingchart上提及我们,或将任何问题发送至support@zingchart.com。

本文地址:http://javascript.askforanswer.com/javascripttubiaoku.html
文章标签: ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!