原文地址

现在,有很多在线绘制图表和图形(Charts and Graphs)的 JavaScript 插件,这些插件还都是免费,以及图表库。这些插件大量出现的原因是基于一个事实:人们不再依赖于 Flash。现代浏览器和复杂计算使得呈现实时数据更加容易。各种各样向量,如 VML、SVG 和 Canvas 绘制技术的进步也使它成为可能。

本文推荐 10 款很炫的绘制图表图形的 JavaScript 插件。这些插件使用各种各样的技术,因此,只有现代浏览器才支持 canvas;其他的插件把不同的技术整合在一起,让他可以工作在不同的平台,以及老版浏览器上。这些工具都是独立的框架,大部分支持常用的功能,如条形图(bar)、线形图(line)、饼图(pie);其他的则支持更复杂,如关联图(correlation plot)、维恩图(Venn diagram)、热区图(heatmaps)、Newick 树图(newick trees)、二维散点图(2D-scatter plot)、二维气泡图(2D-scatter bubble plot)、三维散点图(3D-scatter plot)。 选择你认为最合适的。

Humble Finance

这是一个非常好用的 HTML5 数据可视化工具。它与 Flash 工具颇为相似。Humble Finance 完全由 JavaScript 编写,利用了 Prototype 和 Flotr 库。你可以用它显示任何两个二维实时数据集,它们共享坐标轴。

D3

D3 是最流行的数据可视化库之一。下图只是它很少的一部分图表。D3 可以把任意数据绑定到 DOM(Document Object Model,文档对象模型),然后,对文档应用数据驱动转换(data-driven transformations )。你可以把一个数值数组创建为一个基本的 HTML table,也可以创建一个带流体过渡和交互(fluid transitions and interaction)的 SVG bar chart。

Rickshaw

Rickshaw 可以让你创建交互的时间序列图(interactive time series graphs)。它依赖于 D3 可视化库,并需要一些像扩展,如 jQuery 和 jQuery UI。

jqPlot

这是一个基于 jQuery 框架绘图制表的插件。jqPlot 可以创建各种特色的线形图(line)、条形图(bar)、饼图(pie)。

RGraph

它是 HTML5 JS 图表库,拥有超过 20 种类型的图表。利用最新 HTML5 canvas 标签,这个工具可在 Web 浏览器上生成 JavaScript 图表,这意味着更快的网页加载和更少的 Web 服务器负载。

Dygraphs

这是一个很不错的开源 JS 库,能够创建交互的、可缩放的时间序列图。它可以显示密集的数据集(dense data sets ),并可让用户对这些数据进行检索和分析它们。该工具很小,甚至可以在 IE 下工作。

canvasXpress

它是一个基于 HTML5 标签的库。支持大量极其复杂的图表和图形。

gRaphael

它是基于 Raphael 图形库,你可以查看演示,目前它支持 Firefox 3.0+、Safari 3.0+、Opera 9.5+ 和 IE 6.0+。

Flotr2

它是一个独立的框架库,可以绘制 HTML5 图表图形。实际上,它是 flotr 的一个分支,摆脱了对 Prototype 的依赖,并进行了各种改良。你可以创建线形图(line)、条形图(bar)、烛形图(candle)、饼图(pie)和气泡图(bubble)。它还支持旧的浏览器,如 IE 6,以及移动平台。

Awesome Chart JS

正如它的名字,这是一个很不错的 JavaScript 库,用于创建基于 HTML 5 canvas 元素的图表。这个库很简单,只需要几行代码就能快速生成简单的图表。

参考

图表

  • 条形图(bar):条形图用于显示各个项之间的比较情况,如某个班的学生,都有期中期末考试成绩,用条形图查看学生进步的情况。使用条形图的情况,如轴标签过长;数值是持续型的。条形图有很多子类型,唯一区别是形状不同,如圆柱、圆锥和棱锥,而不是水平矩形,以及水平或垂直之分。
  • 线形图(line):线形图又称为“点状图”(point chart)、“停顿图”(Stopping chart)或“星状图”(star chart),是最早的绘图方法。如股票价格。目前,线形图已较少有人使用。
  • 饼图(pie):饼图显示一个数据系列中各项的大小与各项总和的比例。因此,仅有一个要绘制的数据系列;要绘制的数值没有负值;要绘制的数值几乎没有零值;类别数目无限制;各类别分别代表整个饼图的一部分。
    各个部分需要标注百分比
  • 关联图(correlation plot):关联图是把现象与问题有关系的各种因素串联起来的图形。通过连图可以找出与此问题有关系的一切要图,从而进一步抓住重点问题并寻求解决对策。
  • 维恩图(Venn diagram):维恩图,也称韦恩图或文氏图。用封闭曲线(内部区域)表示集合及其关系的图形。
  • 热区图(heat maps)
  • Newick 树(newick trees)
  • 二维散点图(2D-scatter plot)
  • 二维气泡图(2D-scatter bubble plot)
  • 三维散点图(3D-scatter plot)

10 个超炫绘制图表图形的 Javascript 插件【转载+整理】的更多相关文章

  1. 程序猿必备的10款超炫酷HTML5 Canvas插件

    1.超炫酷HTML5 Canvas 3D旋转地球动画 这是一款基于HTML5 Canvas的3D地球模拟动画,动画以太空作为背景,地球在太空中旋转,同时我们也可以拖拽鼠标来从不同的角度观察地球.另外我 ...

  2. 10个Python 统计报表/图表图形类库

    matplotlib,官网:http://matplotlib.sourceforge.net/,Matplotlib 是一个由 John Hunter 等开发的,用以绘制二维图形的 Python 模 ...

  3. [ javascript canvas isPointInPath(x,y) 判断点是否在最后绘制的图形中 ] javascript canvas isPointInPath(x,y) 判断点是否在最后绘制的图形中方法演示 效果之三

    <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...

  4. 10 款强大的JavaScript图表图形插件推荐

    转自:http://www.iteye.com/news/24535 网上有很多用于绘制图表图形的免费JavaScript插件和图表库,这类插件大量出现的原因,一是人们不再依赖于Flash,二是浏览器 ...

  5. 9款很棒的网页绘制图表JavaScript框架脚本

    推荐9款很棒的可在网页中绘制图表的JavaScript脚本,这些有趣的JS脚本可以帮助你快速方便的绘制图表(线.面.饼.条…),其中包括jQuery.MooTools.Prototype和一些其它的J ...

  6. 在微信小程序中绘制图表(part2)

    本期大纲 1.确定纵坐标的范围并绘制 2.根据真实数据绘制折线 相关阅读:在微信小程序中绘制图表(part1)在微信小程序中绘制图表(part3) 关注我的 github 项目 查看完整代码. 确定纵 ...

  7. PHPExcel探索之旅---阶段三 绘制图表

    利用PHPExcel插件进行绘制图表 <?php /** * 使用PHPExcel插件在excel文件中利用其中的数据建立折线图 * */ $dir = dirname(__FILE__); r ...

  8. 10┃音视频直播系统之 WebRTC 中的数据统计和绘制统计图形

    一.数据统计 在视频直播中,还有一项比较重要,那就是数据监控 比如开发人员需要知道收了多少包.发了多少包.丢了多少包,以及每路流的流量是多少,才能评估出目前用户使用的音视频产品的服务质量是好还是坏 如 ...

  9. DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)

    最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...

随机推荐

  1. .NET轻量级ORM组件Dapper葵花宝典

    一.摘要 为什么取名叫<葵花宝典>? 从行走江湖的世界角度来讲您可以理解为一本"武功秘籍",站在我们IT编程的世界角度应该叫"开发宝典". 如果您在 ...

  2. 无法打开物理文件 XXX.mdf",操作系统错误 5:"5(拒绝访问。)"的解决办法

    http://blog.csdn.net/blackfield/article/details/6550499 用T-SQL命令附加数据库时,出现如下异常信息: 无法打开物理文件 XXX.mdf&qu ...

  3. JAVA8 List排序

    先定义一个实体类 @Data @AllArgsConstructor @NoArgsConstructor public class Human { private String name; priv ...

  4. 用FadingActionBar实现有头图的ActionBar

         FadingActionBar这个开源项目在社区上很火,感觉Google I/O 2014中就有它的身影.今天我们来介绍下这个实用的开源项目. 首先是到这里(https://github.c ...

  5. 关于MySQL的行转列的简单应用

    sql 脚本 -- 创建表 学生表 CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `stunm` VARCHA ...

  6. django外键以及主表和子表的相互查询

    Django的外键使用 from django.db import models # Create your models here. class Category(models.Model): na ...

  7. 基于Otsu算法的图像自适应阈值切割

    在图像处理实践中,将灰度图转化为二值图是非经常见的一种预处理手段. 在Matlab中,能够使用函数BW = im2bw(I, level)来将一幅灰度图 I.转化为二值图. 当中.參数level是一个 ...

  8. GFW实现原理

    GFW的工作机制主要包括: 1. IP黑名单 2. 内容审查 3. DNS劫持 参考链接:http://www.doc88.com/p-8435599803718.html

  9. logistic回归算法及其matlib实现

    一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大.如果非要使用回归算法,可以使用logistic回归. logistic回归本质上是线性回归,只是在特征到结果的映射中多加入了 ...

  10. go语言之进阶篇接口转换

    1.go语音之进阶篇 示例: package main import "fmt" type Humaner interface { //子集 sayhi() } type Pers ...