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

网上有很多用于绘制图表图形的免费JavaScript插件和图表库,这类插件大量出现的原因,一是人们不再依赖于Flash,二是浏览器和精密的计算使呈现实时数据变得容易,而且各种向量绘图技术像VML、SVG和Canvas的发展也使之成为可能。

本文推荐10款强大的绘制图表图形的JavaScript插件。其中一些插件需要主流浏览器的支持,而另外一些经过整合后,也能在不同的平台和老版本的浏览器上工作。有些工具是独立的框架,大部分支持常规的功能:条形图、线形图、饼形图,有的还可以生成更复杂的图表:关联图、维恩图、热区图、Newick树图、二维散点图、二维气泡图、三维散点图。

1. Humble Finance

这是一个非常好用的HTML5数据可视化工具,与Flash工具颇为相似。基于JavaScript,利用了Prototype 和 Flotr 库,可用于显示两组实时二维数据。

 

 

 

 

 

2. D3

D3是最流行的可视化库之一,它可以将任意数据绑定到DOM(Document Object Model,文档对象模型),然后对该文件提供数据驱动转换。还可以将一组数据生成基本的HTML表,或生成一个SVG条形图。

 

 

 

 

 

3. Rickshaw

Rickshaw可以创建交互时间序列图。它依赖于D3的可视化库,需要一些扩展比如jQuery和jQuery UI来辅助实现。

 

 

 

 

4. jqPlot

这是一个基于jQuery(最流行的JavaScript库)的绘图制表插件。jqPlot可以生成线形图、条形图、饼形图。

5. rGraph

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

6. Digraphs

开源JS库,能生成交互、可缩放的时间序列图表。可显示密集的数据组,用户还可对这些数据进行分析和说明。

7. CanvasXpress

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

8. gRaphael

这个工具可在网站上创建美观的图表,它基于Raphael图形库,可以查看静态图表和互动图表的演示。

9. Flotr2

一个独立框架库,可以绘制HTML5的图表图形,实际上是flotr的一个分支,功能更完善。可生成线形图、条形图、烛形图、饼形图和气泡图,还支持旧的浏览器(如IE 6)和移动平台。

10. Awesome Chart JS

顾名思义,这是一个很棒的JavaScript库,它可用于创建基于HTML 5 canvas元素的图表。这个库很简单,只需要几行代码就能快速生成简单的图表。

英文原文:10 Awesome Javascript Plugins For Plotting Charts and Graphs

10 Awesome Javascript Plugins For Plotting Charts and Graphs

A plethora of amazing free Javascript plugins for plotting charts and graphs are now present online. Many good charting libraries are available. The rapid increase in the availability of this kind of plugins is because of the fact that people are no longer dependant on Flash. Modern browsers and sophisticated computing has made it easy to render live data. Advancement in various vector drawing technologies like VML, SVG and Canvas has also made it possible.

So today we have a list of 10 Awesome Javascript Plugins For Plotting Charts and Graphs. Some of these plugins use various technologies, thus supporting canvas only requiring modern browsers; while others integrate different technologies together to allow it to work on different platforms and older browsers. Some of these tools are framework independent and most of them support the usuals: bars, lines, pies; while some supports more complicated ones like correlation plots, Venn diagrams, heatmaps, newick trees, 2D-scatter plots, 2D-scatter bubble plots, 3D-scatter plots. So check out the list and pick the ones that suit your needs the best!

If you like this article, You May like Our Other Articles on Top 50 JavaScript,  JavaScript Tools For Developers and JavaScript Sliders.

Humble Finance

Humble-Finance

This one is a really nice HTML5 data visualization tool. It is quite similar to the Flash tool available on http://finance.google.com/. Humble Finance itself is written completely in JavaScript, utilizing the Prototype and Flotr libraries. You can use it for displaying any two 2-D data sets of real numerical data that share the axis.

D3

D3

Advertisement

D3 is one of the most popular visualization library. It is utilized by a few chart plugin in this post. It allows binding arbitrary data to a DOM (Document Object Model ), and then applying data-driven transformations to the document. You can use it for creating a basic HTML table from an array of numbers; or utilize the same data for creating an amazing SVG bar chart with fluid transitions and interaction.

Rickshaw

Rickshaw

Rickshaw is an amazing tool that lets you create interactive time series graphs. It D3 visualization library dependant and requires some extensions like jQuery and jQuery UI.

jqPlot

jqPlot

This is a great plugin for plotting and charting for jQuery Javascript framework. jqPlot creates amazing line, bar and pie charts with various features.

RGraph

RGraph

It is a HTML5 JS charts library that boasts support for more than 20 types of charts. Utilizing the latest HTML5 canvas tag, this tool generates Javascript charts in the web browser, which means that pages would be quicker and web server load would be less. This tool is a great way of speeding up your website.

dygraphs

dygraphs

This one is a really amazing open source JS library that creates interactive, zoomable charts of time series. It allows displaying dense data sets and lets users explore and interpret them. It is a minimal tool that even works in IE too.

canvasXpress

canvasXpress

This one is a library based on the tag applied in HTML5. It supports a huge amount of extremely complicated charts and graphs.

gRaphael

gRaphael

This tool allows creating beautiful charts on your website. gRaphael is based on Raphael graphics library. You can also viewe the demos to see static and interactive charts. It presently supports Firefox 3.0+, Safari 3.0+, Opera 9.5+ and IE 6.0+.

Flotr2

Flotr2

It is a great framework independent library which allows drawing HTML5 charts and graphs. It is actually a branch of flotr that gets rid of the Prototype dependence and boasts various meliorations. You can create lines, bars, candles, pies and bubbles charts. It even supports older browsers like Internet Explorer 6 and mobile platform too.

Awesome Chart JS

Awesome-Chart-JS

Well, as the name suggests, it is an ‘awesome’ Javascript library which can be used for creating charts based on the HTML 5 canvas element. It is a simple library which allows users to generate simple charts easily and quickly with a few lines of coding.

15 Awesome Free JavaScript Charts

Plotting your data can serve as a replacement to tabular data, and is also a great way to add practical graphics to your web page or application. There are many ways you can plot data, but here I have included 15 Awesome Free JavaScript Charts In Your Sites/Blog Pages which serves as a easy Charting solution. Hope you like it.

RGraph: HTML5 & Javascript charts for your website

rgraph-chart

RGraph is a charts library written in Javascript that uses HTML5 to draw and supports over twenty different types of charts. Using the new HTML5 canvas tag, RGraph creates these charts inside the web browser using Javascript, meaning quicker pages and less web server load. This leads to smaller page sizes, lower costs and faster websites.

RGraph is free to use on non-commercial websites such as personal blogs, educational or charity sites.

Website: http://www.rgraph.net/
Demo: http://www.rgraph.net/examples/index.html

Some of the features of RGraph:

  • Packed and fully documented
  • Build faster websites with RGraph Javascript charts
  • 20+ chart types
  • HTML5 canvas based (so fast to draw)
  • Works in Internet Explorer (using excanvas)
  • Tooltips
  • Resizing charts
  • Annotating
  • Simple API

TufteGraph

66576b3858

Make pretty graphs with javascript, using jQuery.
It is different from other javascript charting libraries because:

  • Configuration is by dynamic functions, allowing for a really compact API (very few options)
  • Non-core layout is done via CSS rather than code

Website: http://xaviershay.github.com/tufte-graph/
Download: http://github.com/xaviershay/tufte-graph/zipball/master

dygraphs JavaScript Visualization Library

5ec1d658c2

dygraphs is an open source JavaScript library that produces produces interactive, zoomable charts of time series. It is designed to display dense data sets and enable users to explore and interpret them.

Some of the features of dygraphs:

  • Plots time series without using an external server or Flash
  • Works in Internet Explorer (using excanvas)
  • Lightweight (45kb) and responsive
  • Displays values on mouseover (this makes it easily discoverable)
  • Supports error bands around data series
  • Interactive zoom
  • Adjustable averaging period
  • Can intelligently chart fractions
  • Customizable click-through actions
  • Compatible with the Google Visualization API
  • Intelligent defaults make it easy to use

Website: http://www.danvk.org/dygraphs/
Demo: http://www.danvk.org/dygraphs/tests/

Highcharts

0a327d3d22

Highcharts is a charting library written in pure JavaScript, offering an easy way of adding interactive charts to your web site or web application. Highcharts currently supports line, spline, area, areaspline, column, bar, pie and scatter chart types.

Features:

  • Compatible
  • Free for Non-commercial
  • Pure JS, no BS!
  • Numerous Chart Types
  • Simple Configuration Syntax
  • Tooltip Labels
  • Multiple Axes
  • Events
  • Datetime Axis
  • Zooming
  • External Data Loading
  • Inverted Chart or Reversed Axis
  • Text Rotation for Labels

Website: http://www.highcharts.com
Demo: http://www.highcharts.com/demo

gRaphaël—JavaScript Library

5ec81fe991

gRaphaël’s goal is to help you create stunning charts on your website. It is based on Raphaël graphics library. Check out the demos to see static and interactive charts in action.

gRaphaël currently supports Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+

Website: http://g.raphaeljs.com
Demo: http://g.raphaeljs.com

MilkChart

7747c3ce9b

A simple to use, yet robust library for transforming table data into a chart. This library uses the HTML5 tag and is only supported on browsers other than IE until ExCanvas gets proper text support.

Website: http://code.google.com/p/milkchart/

Visualize

d7c9e2a27f

Accessible data visualization in HTML has always been tricky to achieve, particularly because elements such as images allow only the most basic features for providing textual information to non-visual users. A while back, we wrote an article describing a technique we came up with to use JavaScript to scrape data from an HTML table and generate charts using the HTML 5 Canvas element. The technique is particularly useful because the data for the visualization already exists in the page in structured tabular format, making it accessible to people who browse the web with a screen reader or other assistive technology.

Website: www.filamentgroup.com

InfoVis

e1775a16da

The JavaScript InfoVis Toolkit provides tools for creating Interactive Data Visualizations for the Web.

Website: http://thejit.org
Demo: http://thejit.org/demos/
Download: http://thejit.org/downloads/Jit-1.1.3.zip

jqPlot

f037c3ed20

jqPlot is a plotting and charting plugin for the jQuery Javascript framework. jqPlot produces beautiful line, bar and pie charts with many features.

Features:

  • Numerous chart style options.
  • Date axes with customizable formatting.
  • Up to 9 Y axes.
  • Rotated axis text.
  • Automatic trend line computation.
  • Tooltips and data point highlighting.
  • Sensible defaults for ease of use.

Website: http://www.jqplot.com
Demo: http://www.jqplot.com/tests/
Download: http://www.bitbucket.org/cleonello/jqplot/downloads/

Protovis

854589260d

Protovis composes custom views of data with simple marks such as bars and dots. Unlike low-level graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic properties that encode data, allowing inheritance, scales and layouts to simplify construction.

Protovis is free and open-source, provided under the BSD License. It uses JavaScript and SVG for web-native visualizations; no plugin required (though you will need a modern web browser)! Although programming experience is helpful, Protovis is mostly declarative and designed to be learned by example.

Website: http://vis.stanford.edu/protovis/
Demo: http://vis.stanford.edu/protovis/ex/
Download: http://protovis-js.googlecode.com/files/protovis-3.1.zip

Flot

2dc9ac6e11

Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side.

The focus is on simple usage (all settings are optional), attractive looks and interactive features like zooming and mouse tracking.

The plugin works with Internet Explorer 6/7/8, Firefox 2.x+, Safari 3.0+, Opera 9.5+ and Konqueror 4.x+ with the HTML canvas tag (Internet Explorer where the excanvas Javascript emulation helper is used).

Website: http://code.google.com/p/flot/
Demo: http://people.iola.dk/olau/flot/examples/
Download: http://code.google.com/p/flot/downloads/list

API Google Chart

cc3c9c16f3

The Google Chart API lets you dynamically generate charts. To see the Chart API in action, open up a browser window and copy the following URL into the address bar:

http://chart.apis.google.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World

Website: http://code.google.com/intl/ru/apis/chart/

Processing.js

472d5a87de

Processing.js is an open programming language for people who want to program images, animation, and interactions for the web without using Flash or Java applets. Processing.js uses Javascript to draw shapes and manipulate images on the HTML5 Canvas element. The code is light-weight, simple to learn and makes an ideal tool for visualizing data, creating user-interfaces and developing web-based games.

Processing.js is explicitly developed for browsers that support the HTML5 element. Processing.js runs in FireFox, Safari, Opera and Chrome but will not be supported in Internet Explorer until Mircosoft catch up with ISSUE 15.

Website: http://processingjs.org/
Demo: http://processingjs.org/learning/ide
Download: http://processingjs.org/download

MooWheel

a4fc068f08

The purpose of this script is to provide a unique and elegant way to visualize data using Javascript and the object. This type of visualization can be used to display connections between many different objects, be them people, places, things, or otherwise. The script is licensed under an MIT-style license.

This script requires three libraries to support it. CanvasText (for text support with canvas elements), ExCanvas (for IE canvas support), and MooTools 1.2; all three are included in the package. View the project on Google Code.

Website: http://www.unwieldy.net/projects/moowheel/
Demo: http://www.unwieldy.net/projects/moowheel/demo/large.html
Download: http://moowheel.googlecode.com/files/moowheel_v02.zip

JSXGraph

9046df7c82

JSXGraph is a cross-browser library for interactive geometry, function plotting, charting, and data visualization in a web browser. It is implemented completely in JavaScript, does not rely on any other library, and uses SVG and VML. JSXGraph is easy to embed and has a small footprint: less then 100 KByte if embedded in a web page. No plug-ins are required!

Features:

  • Euclidean Geometry: Points, lines, circles, intersections, perpendicular lines, angles
  • Curve plotting: Graphs, parametric curves, polar curves, data plots, Bezier curves
  • Differential equations
  • Turtle graphics
  • Lindenmayer systems
  • Interaction via sliders
  • Animations
  • Polynomial interpolation, spline interpolation
  • Tangents, normals
  • Initial support for charts
  • Vectors

Website: http://jsxgraph.uni-bayreuth.de/wp/
Demo: http://jsxgraph.uni-bayreuth.de/wp/examples/
Download: http://jsxgraph.uni-bayreuth.de/wp/download/

Prototype + Canvas = ProtoChart

13108e0c88

ProtoChart is a new opensource library using Prototype and Canvas to create good looking charts. This library is highly motivated by Flot, Flotr and PlotKit libraries.

Features:

  • Line, bar, pie, curve, mix, and area charts available
  • Multiple data series on same graph
  • Highly customizable legend support
  • Customizable grid, grid border, background
  • Customizable axis-tick values (both x and y)
  • Supports: IE6/7, FF2/3 and Safari
  • Even works on an iPhone!

Website: http://www.deensoft.com/lab/protochart/
Demo: http://www.deensoft.com/lab/protochart/linechart.php

jQuery Sparklines

ad68fbb9ab

This jQuery plugin generates sparklines (small inline charts) directly in the browser using data supplied either inline in the HTML, or via javascript.

The plugin is compatible with most modern browsers and has been tested with Firefox 2+, Safari 3+, Opera 9, Google Chrome and Internet Explorer 6, 7 & 8.

Each example displayed below takes just 1 line of HTML or javascript to generate.

Website: http://www.omnipotent.net/jquery.sparkline/
Demo: http://www.omnipotent.net/jquery.sparkline/
Download: http://www.omnipotent.net/jquery.sparkline/#download