整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

20 个最棒的 JavaScript 图表库

个企业在做重要决定时都倾向于做数据分析,实际上他们很多时候都是沉沦在数据里头,不知道如何跳出其中。企业一直寻求更好的方式来可视化数据、进行更好的互动、使图表多角度化。毕竟,只有从数据中得出的见解才是有用的。

JavaScript 图表库出现了,作为美观且容易理解的交互式的可视化图表最有力的工具,它更容易提取和传达关键的模式和见解,而这一点在静态图表中往往不明显。

为了使事情更加简单,我努力挖掘了很多选项,找到了最好的JavaScript 图表库。来,让我们开始吧。

1、chartist

Chartist的高效和人性化设计甚至吸引了离开 Excel 就会感觉不舒服的人。可响应(使用媒体查询)和独立 DPI 意味着这些图表可以为你提供一个良好的解决方案,如果你在考虑将你的图表应用于包括手机,平板和桌面电脑的多终端设备,基于SVG的设计让它在未来更具兼容性。

Chartist 的与众不同在于它是社区的成果,这使得它没有其他图表库的局限性。由于过于关注琐碎的变动和功能完整,导致你在使用其他类库时很焦心。

协议: 开源,所有用户皆可免费使用。

2、FusionCharts

FusionCharts带来了最全面的库,超过90种图表和900种图——所有均就绪备用。它们自诩为行业内最好看的图表,它提供了一个功能强大的体验仪表板,通过它可以鸟瞰其整个业务功能。

FusionCharts 兼容从 PC 和 Mac 电脑,iPhone 和 Android 平板电脑等多种设备;他们做了许多额外的努力来确保跨浏览器的兼容性,甚至包括 IE6!

他们还涵盖了所有基础格式 —— JSON 和 XML 数据格式都能够接受;绘制可以通过 HTML5、SVG 和 VML,图表可以导出为 PNG、JPG 或 PDF 格式。FusionCharts 的扩展可以很容易地与你所选择的任何技术集成,包括 jQuery,AngularJS,PHP 和 Rails。

总的来说,FusionCharts 拥有你创建漂亮图表和做严格业务分析所需的任何特征和格式。而且最好的部分是非商业用途时你可以免费下载并使用,没有任何限制。

源码许可证:非商业免费,商业用途收费。

3、DyGraphs

Dygraphs 是一个开源的 JavaScript 图表库,最适用于极端大数据集。它是开箱式互动,通过缩放甚至可以支持手机。

它既兼容主流浏览器,也向后兼容 IE8。选项和自定义回调功能使它具有极高的可配置性。

协议: 开源,面向所有用户免费。

4、Chartjs

Chart.js适用于小项目,扁平化,干净,优雅,快速。它是一个微型的开源库,最小化压缩后只有11kb大小。它包括六个核心图表类型(线图,柱图,雷达图,极地图,饼图和环形图),每个都是独立的模块,所以你甚至可以只加载项目需要的模块以最大化缩小代码占用空间。

它使用HTML5 canvas元素渲染图表,并且使用polyfills方式兼容在IE7/8上运行。所有图表都是可响应的。

协议: 开源,面向所有用户免费。

5、GoogleCharts

Google Charts 提供大量不同种类的图表,它最大程度上满足了数据可视化的需要。图表基于 HTML5/SVG,为了兼容老版本的 IE 还支持 VML。所有的图表都是可交互可缩放的。你可以去看看他们的图表库。最棒的是他们的图表绝对免费。

协议:免费,但是不开源,在你的服务器上使用他们的 JS 文件是 Google’s协议不允许 的。因此如果你是一家企业并且有很多敏感数据,Google Charts 可能不是一个最佳的选项。

6、HighCharts

Highcharts 是又一个流行的交互图表库,与其他库一样,它是基于 HTML5/SVG/VML,所以不需要扩展插件。提供的图表类型很广泛,像曲线图,柱状图,条形图,地图,仪表盘等。

它还提供个人用户免费可在线生成交互式图表的接口 Highcharts cloud,商业使用需要购买授权。

协议: 非商业使用免费,商业使用付费。

7、Flot

Flot 是最古老的图表库之一,用法简单并聚焦交互特性。它是特定的 jQuery 库,这意味着使用它需要熟悉基础的 jQuery。但是从另一方面来说,这意味着你可以全面控制呈现,动作和用户交互。

Flot 兼容大多数浏览器,向下兼容到 IE6。Flot 的插件库提供许多类型的图,所有贡献都是社区提供的。你可以看看这些由 Flot 制作的例子。

协议: 开源,面向所有用户免费。

8、D3.js

D3通常是提到数据可视化时出现的第一个名字。它是一个非常强大的开源项目,可以通过动态更新DOM创造出惊人的视觉效果和图形。另外,它使用HTML,CSS和SVG。

它符合W3C标准,并且是跨浏览器兼容的。开发者们往往喜欢它所带来的许多特征,比如“进入和退出”以及强大的过渡。你可以到这里找到一些 D3 的示例。

需要说明的是,它没有预建图表,即时学习基本的图表也有一条非常陡峭的学习曲线。但开发者们极富创新性,开发出了不少基于D3的包装库。后面我们将涉及到其中的一些佼佼者。

源码许可证: 开源。免费使用。

9、n3-charts

如果你正在寻找一种在 AngularJS 应用下创建简单互动线图的方法,这将是你所需要的。N3 基于D3.js,针对少量受众–基于 AngularJS 绘制通用线图。如果你需要更多的图表类型,它可能不适合你。你可以在这里看到一些N3线图的实例。

源码许可证:开源。对所有人免费。

10、NVD3

NVD3是一个旨在建立可复用的图表和组件的 d3.js 项目——它提供了同样强大的功能,但更容易使用。它可以让你处理复杂的数据集来创建更高级的可视化。

源码许可证:开源。对所有人免费。

11、Ember Charts

Addepar 的开发者正为提升 Ember 以及其附属库 Ember Charts、Ember Tables 和 Ember Widgets 的体验的工作而稳步推进着。Ember Charts 基于 D3.js 和 Ember.js 框架提供了一个易于使用的,可扩展的图表套件。

其强壮且优雅——针对坏数据的错误处理能确保有坏数据时应用程序不会崩溃。你甚至可以通过扩展它来创建自己的图表类型。

源码许可证:开源。对所有人免费。

12、jQuery Sparklines

我们一直在谈论那些能搞定一切的重量型的库。但有时你需要的是针对简单的任务简单些的东西。jQuery Sparklines 插件提供了一个合适的解决方案。它能够被用来生成迷你型的小内嵌图表,刚好足够去表现趋势——只需要最小量的编码。适用于大多数现代浏览器包括更老的IE6。

源码许可证:开源。对所有人免费。

13、Sigma.js

当我们在特定的使用场景下时,我们必须谈谈 Sigma。Sigma 是一个强大的 JavaScript 库,其关注于呈现交互图形和 Web 网络。

Sigma 的库和插件包有大量的互动设置。一旦你使用了 Sigma,你将再也不会觉得线图无聊。看一下这个sigma.js侧翻演示你就会明白我的意思。

源码许可证:开源。对所有人免费。

14、Morris.js

是的,正如 Morris 所说,好看的图不应该制作困难。Morris 是一个基于 jQuery 和 Raphael 的轻量级库,它提供简单干净的线条,面积图,条形及圆环图。如果你正在寻找一些快速简单且优雅的库,它绝对值得一试。

源码许可证:开源。对所有人免费。

15、Cytoscape.js

Cytoscape.js 是一个开源的、功能齐全的图形库,它纯粹用 JavaScript 编写,基于 LGPL3+ 并完全免费。经过高度优化之后,它并不依赖外部。Cytoscape.js 可以让你创建可复用的图形工具,并能够集成到你的 JavaScript 代码中。

它同样兼容所有现代浏览器,还兼容各种软件框架,比如CommonJS和Node.js,AMD/Require.js,jQuery 以及 Meteor/Atmosphere 等。注意,虽然它与Cyctoscape 桌面应用名字相同,但它们是完全不同的。

源码许可证:免费。对所有人免费。

16、C3.js

C3.js 是另一个基于 D3 可重用的图表库。大量的基于 D3 的图表工具表明了太多人喜欢 D3 的功能,但也反映了大家讨厌用 D3 直接编码。

C3.js 提供了一种不同于 D3 学习曲线的方法,它将构建整个图表所需要的代码进行了包装。C3允许你创建自定义的类,这样就可以生成自己的风格。它提供了大量的API和回调,以便你可以在第一次渲染之后更新图表。

源码许可证:开源。对所有人免费。

17、Rickshaw

Rickshaw 在 Shutterstock 被开发为一个建时间序列图的工具包。像其他一些我们已经讨论过的工具一样,Rickshaw 也是基于 D3 库。它是开放并开源的(遵循 MIT 许可)。

你可以在这里看到一些 Rickshaw 的有趣例子。Rickshaw 的众多扩展和自定义的特性能够让你生成漂亮的时序图。

源码许可证:开源。对所有人免费。

18、Cubism.js

Cubism 也许是显示时间序列最佳的 D3 插件。是什么使它脱颖而出的呢?你可以引入多个来源的数据,比如 Graphite、Cube 和其他来创造令人敬畏的实时图表来展现你的数据。

它能够渲染增量,使用 Canvas 来一次一个像素的偏移图表。Cubism 的水平图要比标准的平面图更好地利用垂直空间,能够让你一眼下来获取更多的数据并增加一目了然的可能性。

源码许可证:开源。对所有人免费。

19、Plottable.js

Plottable 采取了一些不同于 D3 框架的方法。它已经有一套可插拔的模块化组件,这些组件封装了渲染逻辑。这形成了一个单独的布局引擎用来实际定位。

这意味着你可以使用任何 Plottable 的组件并将其添加到现有的图表,或使用 Plottable 创建一个全新的图表。它基本以一个更模块化、即插即用的方式赋予了你 D3 的力量。可以通过这些示例看一下 Plottable 的能力。

源码许可证:开源。对所有人免费。

20、Canvas.js

正如名字所隐含的,Canvas.js 是一个 HTML5 —— JavaScript 的图表库,基于 Canvas 元素。Canvas 允许你创建完全响应式且跨设备的丰富图表。除此之外,它有许多很好看的主题,他们声称要比传统的基于 Flash 和 SVG 图型快10倍。

源码许可证:非商业免费,商业用途收费。

总结

数据的可视化和分析是当今业务流程的的一个重要的组成部分。公司不论大小,都需要简洁、高效、互动性的方式来诠释数据。所以选择适合你需求的 JavaScript 图表库尤为重要。

像 FusionCharts,GoogleCharts,Dygraphs 或 D3 的衍生库可能更适合那些处理大量数据的企业,或那些很大程度上依赖于数据分析的小公司。如果你只需要一些小而快的库,Morris.js 或 Chart.js 或许更适合你。对于图形和和网络,Cytoscape 或 Sigma.js 可能是更好的选择。

我尽量将最好的工具包括在这里,但我相信你也有你的最爱,你最喜欢的 JS 图表库是哪个,为什么?

开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个基于 JavaScript 的开源可视化图表库——Apache ECharts。

ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅地运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。


特性

丰富的图表类型:提供开箱即用的 20 多种图表和十几种组件,并且支持各种图表以及组件的任意组合。

强劲的渲染引擎:Canvas、SVG 双引擎一键切换,增量渲染、流加载等技术实现千万级数据的流畅交互。

专业的数据分析:通过数据集管理数据,支持数据过滤、聚类、回归,帮助实现同一份数据的多维度分析。

优雅的可视化设计:默认设计遵从可视化原则,支持响应式设计,并且提供了灵活的配置项方便开发者定制。

健康的开源社区:活跃的社区用户保证了项目的健康发展,也贡献了丰富的第三方插件满足不同场景的需求。

友好的无障碍访问:智能生成的图表描述和贴花图案,帮助视力障碍人士了解图表内容,读懂图表背后的故事。

移动端优化:ECharts 针对移动端交互做了细致的优化,例如移动端小屏上适于用手指在坐标系中进行缩放、平移。


快速上手

1 获取 Apache ECharts

Apache ECharts 支持多种下载方式,你可以根据项目的实际情况选择以下任意一种方式安装。

  • 从 GitHub 获取:

apache/echarts 项目的 release 页面可以找到各个版本的链接。点击下载页面下方 Assets 中的 Source code,解压后 dist 目录下的 echarts.js 即为包含完整 ECharts 功能的文件。

https://github.com/apache/echarts/releases
  • 从 NPM 获取:
npm install echarts --save
  • 从 CDN 获取:

https://www.jsdelivr.com/package/npm/echarts 选择 dist/echarts.js,点击并保存为 echarts.js 文件。

2 引入 Apache ECharts

在刚才保存 echarts.js 的目录新建一个 index.html 文件,内容如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
  </head>
</html>

打开这个 index.html,你会看到一片空白。但是不要担心,打开控制台确认没有报错信息,就可以进行下一步。

3 绘制一个简单的图表

在绘图前我们需要为 ECharts 准备一个定义了高宽的 DOM 容器。在刚才的例子 </head> 之后,添加:

<body>
  <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
  <div id="main" style="width: 600px;height:400px;"></div>
</body>

然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个简单的柱状图,下面是完整代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>ECharts</title>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
  </head>
  <body>
    <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
      // 基于准备好的dom,初始化echarts实例
      var myChart = echarts.init(document.getElementById('main'));

      // 指定图表的配置项和数据
      var option = {
        title: {
          text: 'ECharts 入门示例'
        },
        tooltip: {},
        legend: {
          data: ['销量']
        },
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20]
          }
        ]
      };

      // 使用刚指定的配置项和数据显示图表。
      myChart.setOption(option);
    </script>
  </body>
</html>

这样你的第一个图表就诞生了!


图表示例

折线图

折线图堆叠

堆叠面积图

渐变堆叠面积图

北京 AQI 可视化

柱状图

堆叠柱状图

多 Y 轴

堆叠条形图

饼图

南丁格尔玫瑰图

嵌套环形图

地理坐标/地图

地图柱状图变形动画

关系图

人物关系图(环形布局)

NPM 依赖关系图

矩形树图

磁盘占用

旭日图

Drink Flavors

平行坐标系

AQI 分布(平行坐标)

营养结构(平行坐标)

散点矩阵和平行坐标

—END—

组件预览地址:https://echarts.apache.org/examples/zh/index.html

开源协议:Apache2.0

开源地址:https://github.com/apache/echarts

在,网上有许多JavaScript类型的图表库资源。它们功能不同,且各有优、缺点。为了让您能够轻松地进行挑选,我在此准备了十种既可用于创建基本的图表,又能够处置各种特定数据可视化任务的最佳JS库。

如今,随着我们身体各类数据的指数级增长,人们需要接受的信息量越来越大,系统必须处理的难度也是越来越高。而这些正是我们需要通过交互式图表和仪表盘,来实现数据可视化的根本原因。在大幅节省用户的时间和精力的同时,此类可视化方式不但需要能够对数据进行分析与解读,而且应当能够基于海量数据做出正确且明智的决策。


1.amCharts

当您需要一个简单且灵活的数据可视化解决方案时,amCharts便是一种非常实用的JavaScript图表库。

主要特点

包含地图和甘特图等多种类型的图表。

具有友好的交互式选项和深入分析的功能。

其文档虽然涵括了所有基本的方法,但是在我看来,它们在使用上并不方便。

具有引人入胜的图表动画。

可以与React、Angular、Vue和Ember相集成。

具有WordPress插件。

可导出为图像或PDF文件。

提供实时图表,以及完全自定义的、且被W3C认可的辅助功能。

为注册用户提供优先且全面的支持。

客户群:Microsoft、Amazon、eBay、NASA、Samsung、Yandex、以及AT&T等。

定价

虽然可以被免费地用于各种用途,但是所有生成的图表都会包含一个小小的品牌链接。若要删除该链接,则需购买付费许可证(180美元起)。同时,您也将为此获得对于该产品的优先支持。

更多信息

官方网站:http://amcharts.com/

文档:http://amcharts.com/

下载链接:http://amcharts.com/download


2.AnyChart

作为一款轻量级的JS图表库,AnyChart不但功能丰富,而且具有SVG/VML(译者注:可缩放矢量图形和矢量可标记语言)呈现功能。实际上,它为Web开发人员提供了创建不同类型图表的绝佳机会。这些图表都有助于数据的分析,以及以数据为驱动所做出的决策。去年,DZone.com将AnyChart列入了最佳JavaScript数据图表库之一。

主要特点

提供超过80多种JS图表类型,包括:基本图表、股票图表、地图、甘特图、以及PERT图表等。

提供多种设置数据的方法,包括:XML、JSON、CSV、JS API、Google表格和HTML表格。

能够深入查看图表中的数据。

提供库存技术分析指标,以及开箱即用的绘图工具。

提供丰富的文档、API和友好的技术支持。

可以与Angular、Qlik、Oracle APEX、React、Elasticsearch、Vue.js、Android、以及iOS等相集成。

提供各种样本与仪表盘,以及具有代码自动完成功能的专用playground。

支持各种旧的浏览器。

能够将图表导出为各种格式,包括:PDF、JPG、PNG、SVG图像、XSLX与CSV文件类型的数据。

客户群:Oracle、Microsoft、Citi、Samsung、Nokia、AT&T、Ford、Volkswagen、以及Lockheed Martin等。

定价

提供免得的带水印版本。如果想去掉logo,或是将AnyChart用作商业目的,则必要购买许可证(49美元起)。

更多信息

官方网站:https://www.anychart.com/

文档:https://docs.anychart.com/

下载链接:https://docs.anychart.com/


3.Chart.js

Chart.js是一款备受网页设计与开发人员欢迎的,简单且灵活的JavaScript数据图表库。对于那些不需要大量图表与自定义功能,却又希望其图表看起来清晰整洁、且信息量丰富的用户来说,这是一个非常好的基本解决方案。

主要特点

支持8种图表类型,即:线、面积、条形图、饼图、雷达图、极坐标图、气泡图和散点图。

所有的图表类型都可以被自定义、添加动画、并以响应式,被在线使用。

可以通过插件来扩展其功能。

具有优质的文档。

由Stack Overflow(译者注:著名的程序开发技术问答网站)提供支持。

支持IE9及以上的浏览器。

定价

它是一款根据MIT许可证发布的,免费开源的JS图表库。

更多信息

官方网站:https://www.chartjs.org/

文档:https://www.chartjs.org/docs/

下载链接:https://github.com/chartjs/Chart.js/releases/latest


4.Chartist.js

Chartist虽然是一款不太引人注目的开源JS库,但是它能够被用来创建漂亮的响应式图表。因此,它对于那些需要极简式图表(如:线条、条形图或饼图)、且对于数据可视化要求不高的用户来说,非常实用。正所谓“一美遮百丑”,凭借着其漂亮的图表显示,它的其他功能倒是被弱化了。

主要特点

只支持三种图表类型:直线图、条形图和饼图。

具有强大的动画效果。

其API文档包含了所有必要的信息,但是该文档的可读性不强,需要长时间滚动鼠标中键,才能定位到检索的内容。

允许用户通过插件来扩展其功能。

将来会兼容、并可使用SVG来绘制图表。

支持各种旧的浏览器。

定价

开源并可免费使用。

更多信息

官方网站:https://gionkunz.github.io/chartist-js/

文档:https://gionkunz.github.io/chartist-js/getting-started.html

下载链接:https://github.com/gionkunz/chartist-js/tree/develop/dist


5.D3.js

D3.js是一款功能强大的,可用于数据可视化任务的JavaScript库。目前,它已在GitHub上被fork(复制)了20,000多次。不过,D3更像是一个框架,而不是图表库。为了让用户方便使用,它提供了许多实用的资源,并能够将各种手稿转化为可视化的图形。

主要特点

与诸如Voronoi之类的多数JavaScript图表库相比,它能够支持更为广泛的图表类型。

它的学习曲线比较陡峭。虽然其文档不及上述提到的商用AnyChart那样清楚易学,但是它带有许多教程和各种不错的API。

能够将强大的可视化组件、与数据驱动方法,结合到DOM的操作之中。

能够使用浏览器内的元素检查器,以实现轻松的调试。

带有数以百个的范例。

具有曲线生成函数的功能。

支持拖放。

定价

开源并可免费使用。

更多信息

官方网站:http://d3js.org/

文档:https://github.com/d3/d3/wiki

下载链接:https://github.com/d3/d3/releases/latest/


6.FusionCharts

FusionCharts是一款不错的交互式图表库,它带有数百个开箱即用的图表。这些图表不但接受JSON和XML数据格式,而且能够通过HTML5/SVG或VML予以呈现。

主要特点

提供数十种2D和3D类型的图表,以及950多种地图。

以动画和完全交互的方式,提供图表和地图。

提供ASP.NET、PHP和Ruby on Rails类型的服务器端API。

兼容jQuery、Angular、PHP、ASP.NET、React Native、Django、React、Ruby on Rails、以及Java等语言工具。

具有非常详细的用户指南和API参考文档。

提供各种可用于检测的样品和仪表盘。

支持各种旧的浏览器。

可导出为PNG、JPG或PDF格式。

通过知识库和社区论坛提供技术支持。

给许可证用户提供不受限的优先支持。

客户群:Apple、IBM、Google、Intel、Microsoft、PayPal、Oracle、以及Adobe等。

定价

可免费用于非商业用途;若用于商业用途,则售价为497美元起。

更多信息

官方网站:https://fusionchart.com/

文档:https://www.fusioncharts.com/dev

下载链接:https://www.fusioncharts.com/download


7.Google Charts

对于那些不需要复杂定制、且更注重简约与稳定性的项目来说,Google Charts是一个很好的选择。

主要特点

提供基于HTML5/SVG和VML的图表。

提供各种可用于检测的样品和仪表盘。

在所有图表都具有交互性的基础上,部分图表还可被缩放。

提供完善的综合性文档。

支持各种旧的浏览器。

通过FAQ、GitHub和社区论坛提供支持。

定价

虽然其许可证是免费的,但图表库并不开源。由于不允许在用户服务器上托管Google的各种JS文件,因此不适合那些具有敏感数据的用户。

详细信息

官方网站:https://developers.google.com/chart/

文档:https://developers.google.com/chart/interactive/docs/

下载链接:https://developers.google.com/chart/interactive/docs/basic_load_libs


8.Highcharts

Highcharts是一款全面、且流行的、基于HTML5的JavaScript图表库,它使用SVG/VML来呈现各种类型的图表。由于属于轻量级的图表库,因此它保证了较高的运行性能。

主要特点

既能够使用纯粹的JavaScript,又可以从外部加载数据。

提供强大的文档、API参考和社区作品展示。

能够通过交互式选项,让用户深入解读图表中的数据。

可以与React、Angular、Meteor、.NET、以及iOS等一起使用。

可以导出为PNG、JPG、PDF或SVG格式。

能够通过社区论坛和Stack Overflow的方式,对免费版用户提供支持;而对于具有相应许可证的商业用户来说,则能够提供高级的电子邮件与Skype技术支持。

客户群:Visa、Yahoo!、Facebook、Twitter、Groupon、Nokia、Ericsson、Mastercard、以及Yandex等。

定价

供非营利组织免费使用;而对于商业用途,则售价为50美元起。

更多信息

官方网站:https://highcharts.com/

文档:https://www.highcharts.com/docs

下载链接:https://www.highcharts.com/blog/download


9.Plotly.js

Plotly.js是一款免费且开源的高端JavaScript软件库。由于是建立在D3.js和WebGL基础之上,因此它可被用于创建包括3D图、和统计图在内的许多不同类型的图表。

主要特点

可被嵌入网站、或用于创建动态演示文稿,并支持20种图表类型。

通过将各种图表抽象为声明性的JSON结构,它可以被Python、R和MATLAB用作基于浏览器的图表库。

具有丰富的API文档。

具有强大的动画效果。

能够使用React。

能够将图表导出为PNG和JPG;并在订购之后,提供EPS、SVG和PDF格式。

提供各种可用于检测的样品。

允许使用Excel电子表格、或直接连接到您的数据库中。

具有社区论坛的支持。

定价

开源并可免费使用。

更多信息

官方网站:https://plot.ly/javascript/

文档:https://plot.ly/javascript/

下载链接:https://plot.ly/javascript/getting-started/#download


10.ZingChart

ZingChart是一款可用于制作交互式与响应式图表的实用工具。它不但灵活高效,而且能够轻松地管理大数据,同时还能生成包含丰富数据内容的图表。

主要特点

支持30多种图表类型。

可完全定制不同的CSS风格版式。

兼容jQuery、Angular、Node.js、以及PHP等。

提供实时数据,并能快速地呈现任意大小的数据集。

可以通过JS对象、JSON、CSV、PHP、AJAX或MySQL来加载数据。

提供完整且易读的API。

通过ZingChart的帮助中心、Stack Overflow、电子邮件、以及聊天工具,提供免费和高级的技术支持。

客户群:Microsoft、Boeing、Adobe、Apple、Cisco、Google、以及Alcatel等。

定价

只要拥有其品牌许可证,便能免费拥有其图表库的完全访问权限。而对于商业用途,则需购买许可证,售价为199美元起。

更多信息

官方网站:http://zingchart.com/

文档:http://zingchart.com/docs/

下载链接:http://zingchart.com/try/

结论:上面所列的十款JavaScript图表库可谓各有千秋,有的运行得更快、有的显示得更漂亮、而有的却更加灵活。正如“一千个人眼中有一千个哈姆雷特”那样,到底选用哪一种图表库,最终还是取决于您手头上的项目特点和具体的应用需求。

原文标题:10 Best JavaScript Charting Libraries for Any Data Visualization Need,作者:Ruslan Borovikov