美观又实用,10 款强大的开源 Javascript 图表库

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

随着发展,现代 Web 设计在改善体验和功能的同时,对于美观的追求也越来越高,可视化、交互式、动态等元素和效果似乎已成为标配。

以下是为开发者推荐的 10 款开源 Javascript 图表库,可以帮助实现各种漂亮的功能。话不多说,直接开始吧!

1、ECharts

ECharts 由百度前端技术部开发的,是一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11、Chrome、Firefox、Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

ECharts 有良好的自适应效果,ECharts 3 中更是加入了更多丰富的交互功能以及更多的可视化效果,并且对移动端做了深度的优化。

114727_pR2V_2896879.png

2、Chart.js

Chart.js 是一个简单、面向对象、为设计者和开发者准备的 Javascript 图表绘制工具库,基于 HTML5 canvas 技术,支持所有现代浏览器,并且针对 IE7/8 提供了降级替代方案。

Chart.js 不依赖任何外部工具库,轻量级(压缩之后仅有4.5k),并且提供了加载外部参数的方法。能用多种不同的方式让数据变得可视化。

3、jqPlot

jqPlot 是一个非常强大的基于 jquery 类库的 Javascript 图表工具,可在网页中绘制线状、柱状、饼状等多种样式图表。

jqPlot 强大之处在于将内容呈现为动态嵌入的静态图像,这意味着图表数据可以通过 Ajax 更新,甚至不需要刷新页面。 某些图表类型甚至具有悬停选项,可在悬停时显示相关数据。

141931_z0gw_2896879.png

142029_fQrq_2896879.png

4、Chartist.js

Chartist.js 是一个使用 SVG 构建的简单的响应式图表库,可以作为前端图表生成器。同样兼容当前绝大部分浏览器(IE8/9/10/11、Chrome、Firefox、Safari等)。

Chartist.js 每个图表从大小到配色方案都是完全响应和高度可定制的,依靠 SVG 将图形作为图像动态地呈现到页面上。完全使用 SASS 构建,并且支持自定义。

145626_OTS0_2896879.png

5、xCharts

xCharts 是一个使用 D3.js 来构建漂亮的可定制的数据驱动的 JavaScript 图表库,使用 HTML、CSS、SVG 实现图表,适用于熟悉数据可视化的用户。

通过 xCharts 渲染的所有内容都有很强的适应性,在与数据交互时添加自己的动画或缓动函数也较为容易。

6、C3.js

C3.js 也是一个基于 D3.js 的可重用的开源 JavaScript 图表库。这意味着将数据图表绘制到 HTML 页面上的过程得到简化,不需要大量的自定义 D3 图表代码,也相对容易上手。

C3.js 所有的数据是完全动态的,从工具到图形颜色。它使用非常舒服,有充分的可定制性和控制性,支持多种图表类型。

7、Pizza Pie Charts

Pizza Pie Charts 是由 ZURB 开发的一个知名的 JavaScript 库,用于渲染基于 SVG 的饼图。

Pizza Pie Charts 所有的显示设置和选项都可以直接在 CSS 或 JavaScript中 修改。它专注于以最好的方式将数据呈现到饼图。如果是其他图表样式,还是建议使用其它的几个库。

153623_H1eb_2896879.png

8、Protovis

Protovis 使用简单的标记(例如条形和点)组成数据的自定义视图。 与一些低级图形库不同,Protovis 通过对数据进行编码的动态属性来定义标记,允许继承、缩放和布局来简化构建。

Protovis 有能力渲染非常独特的图表样式,它使用 JavaScript 和 SVG 进行 Web 本地可视化,无需插件(除了需要一个浏览器)。

154449_8gvl_2896879.png

9、Flot

Flot 是 jQuery 的纯 JavaScript 图表库,专注于使用简单,外观漂亮和强互动功能。它是特定的 jQuery 库,这意味着你需要使用它需要熟悉基础的 jQuery。但是从另一方面来说,这意味着你可以全面控制呈现,动作和用户交互。

使用 Flot 的主要好处是能够创建动画绘制图,可以以此展现大量的结果数据。它兼容大多数现代浏览器,向下兼容到 IE6 和 Firefox2。

160540_FCS6_2896879.png

10、Dygraphs

Dygraphs 也是一个基于 HTML5 canvas 的 JavaScript 图表库,可以生成一个可交互式的,可缩放的的曲线表,可以用来显示大密度的数据集(比如股票、气温等等),并且可以让用户来浏览和解释这个曲线图。

Dygraphs 在移动设备上还可以通过缩放显示效果来支持交互。如果你想用 JavaScript 绘制数据,那么 Dygraphs 是一个不错的选择。

161730_wDF8_2896879.png

转载于:https://my.oschina.net/editorial-story/blog/844876

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EF CORE 7 RC1 发布

原文链接:https://devblogs.microsoft.com/dotnet/announcing-ef7-rc1/[1]原文作者:Jeremy Likness翻译:沙漠尽头的狼(谷歌翻译加持)Entity Framework Core 7 (EF7) Release Candidate 1 已发布!该团队专注于解决缺陷、小幅改进以…

0 重新学习Ubuntu -- 这一段没怎么学习

在完成了前面的几个学习后,再没有进行系统的学习。 虽然在真机上安装系统,每天都打开,完成以下的工作: 升级软件用来查看相关的网站在Ubuntu上,现在可以完成办公、上网、娱乐。 但专业的学习,例如编程方面进…

自定义地图怎么做成html,自定义html为谷歌地图制作标记

好吧,似乎Custom Overlays会做我想要的。这是ping层:function PingLayer(bounds, map) {this.bounds bounds;this.setMap(map);}PingLayer.prototype new google.maps.OverlayView();PingLayer.prototype.onAdd function() {var div document.create…

HDU5248:序列变换(二分)

序列变换 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1348 Accepted Submission(s): 593Problem Description给定序列A{A1,A2,...,An}, 要求改变序列A中的某些元素,形成一个严格单调的序列B&am…

微服务太分散?使用Fundebug集中式bug监控

摘要: 微服务日志分散,可以使用Fundebug的异常监控将它们集中起来。 当一个项目复杂到一定程度,功能越来越多,随之对应的模块也越来越多。 如果都放在一个大的项目下面,共同开发,整合发布,那么会…

html404页面怎么添加,网站要如何设置自定义404页面?

之前我们讲述过网站设置404页面对于优化或是用户体验的重要意义,大家可移步到《网站为什么要设置404页面》查看,今天我们讲解的是网站要如何设置自己的404页面。现在大多数空间商都有了404设置的功能,我们可将404页面上传至空间里面&#xff…

设计模式之——工厂方法模式

1、工厂方法模式(Factory Method)工厂方法模式分为三种:11、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮…

记一次性能故障排查

最近一次公司服务出了一些性能的问题,主要是内存不释放。领到任务后就开始展开工作。项目是用.net core 6写的,在框上应该不会有什么问题,这是大背景。另外服务是部署在k8s上的,于是就和性能测试人员,开发人员搭测试环…

html单选框 点击取消选中,radio单选框再点击取消选中

html:html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">单选框选项a选项b选项c选项dcheckradio.js://参数:obj为当前点击的radio对象function onClickRadioStyle(obj){var…

开启AngularJS 1.X的学习之路(1)

概念(1) AngularJS 应用 AngularJS 模块&#xff08;Module&#xff09; 定义了 AngularJS 应用。AngularJS 控制器&#xff08;Controller&#xff09; 用于控制 AngularJS 应用。ng-app指令定义了应用, ng-controller 定义了控制器。eg: <div ng-app"myApp" ng-…

Hello boke!

Hello boke&#xff01;转载于:https://www.cnblogs.com/yikuan-919/p/9319071.html

ASP.NET Core在.NET 7 RC1中的更新

原文链接&#xff1a;https://devblogs.microsoft.com/dotnet/asp-net-core-updates-in-dotnet-7-rc-1/[1]原文作者&#xff1a;Daniel Roth翻译&#xff1a;沙漠尽头的狼(谷歌翻译加持).NET 7 Release Candidate 1 (RC1) 现已推出[2]&#xff0c;其中包括对 ASP.NET Core 的许…

html5 tab菜单切换页面,11个常用的jQuery TAB切换菜单源码及制作教程

11个常用的jQuery TAB切换菜单源码及制作教程SponsorTAB切换式菜单可以方便为我们减少很多网页布局空间&#xff0c;而且用jQuery的话可以加入一些动画效果&#xff0c;比如渐变&#xff0c;向左右滑动等&#xff0c;提升一定的用户体验&#xff0c;所以TAB菜单目前来说是很流行…

7.16 10.19-10.22

10.19 iptables规则备份和恢复[roothyc-01-01 ~]# service iptables save 保存iptables规则该命令会将规则保存在/etc/sysconfig/iptables将iptables规则备份到一个文件中[roothyc-01-01 ~]# iptables-save>/tmp/ipt.txt将iptables规则备份到ipt.txt文件中从备份规则的文件恢…

走进javascript——不起眼的基础,值和分号

值 有时我很想知道javascript解析引擎是如何区分一个变量的值&#xff0c;比如下面这段代码。 var x javascript; //javascript x "hello"; // hello x 555; //555 x null; //null x a; //a is not defined x true; //true 对于数字是直接赋值的&#xff0c;因…

ConcurrentDictionary字典操作竟然不全是线程安全的?

好久不见&#xff0c;马甲哥封闭居家半个月&#xff0c;记录之前遇到的一件小事。ConcurrentDictionary<TKey,TValue>绝大部分api都是线程安全的[1]&#xff0c;唯二的例外是接收工厂函数的api&#xff1a;AddOrUpdate、GetOrAdd&#xff0c;这两个api不是线程安全的&…

码农小汪-Hibernate学习8-hibernate关联关系注解表示@OneToMany mappedBy @ManyToMany @JoinTable...

近期我也是有点郁闷&#xff0c;究竟是程序中处理关联关系。还是直接使用外键处理关联关系呢&#xff1f;这个的说法不一致&#xff01;程序中处理这样的关联关系的话。自己去维护这样的约束。这样的非常乐观的一种做法&#xff01;或者是直接在数据库中处理这样的直接的外键关…

HTML中弹窗中加入图片,javascript里怎么实现点击图片弹出对话框?

JavaScript中可以使用document.getElementsByTagName方法后去img标签&#xff0c;然后遍历所有img标签并为其添加点击事件实现点击弹出对话框。JavaScript实现点击图片弹出对话框&#xff1a;img {width: 500px;height: 300px;}//获取所有的img标签var imgObjs document.getEl…

Java学习优秀网站

各类程序员学习路线图&#xff1a; http://www.runoob.com/coder-learn-path 博学谷&#xff1a; http://v.itcast.cn/map/22.html 慕课网&#xff1a; http://www.imooc.com/course/programdetail/pid/31 转载于:https://www.cnblogs.com/Arsene/p/6441831.html

Dcloud课程2 什么是Dcloud

Dcloud课程2 什么是Dcloud 一、总结 一句话总结&#xff1a;DCloud提供了一套快速开发应用的跨平台技术方案。 1、DCloud的产品架构&#xff1f; MUI(H5)HBuilder 2、什么是MUI&#xff1f; 最接近原生体验的移动App的UI框架。 3、什么是H5&#xff1f; html5功能增强标准 二、…