Description
Highcharts JS is a JavaScript charting library based on SVG, with fallbacks to VML and canvas for old browsers.
Highcharts JS alternatives and similar libraries
Based on the "Data Visualization" category.
Alternatively, view Highcharts JS alternatives based on common mentions on social networks and blogs.
-
d3
Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada: -
echarts
Apache ECharts is a powerful, interactive charting and data visualization library for browser -
fabric.js
Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser -
BabylonJS
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework. -
p5.js
p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs — -
#<Sawyer::Resource:0x00007f1b609038f0>
Open-source JavaScript charting library behind Plotly and Dash -
paper.js
The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey -
Frappe Charts
Simple, responsive, modern SVG Charts with zero dependencies -
sigma.js
A JavaScript library aimed at visualizing graphs of thousands of nodes and edges -
GoJS, a JavaScript Library for HTML Diagrams
JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages. -
svg.js
The lightweight library for manipulating and animating SVG -
Cytoscape.js
Graph theory (network) library for visualisation and analysis -
dc.js
Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js -
mxGraph
Diagramming library that enables interactive graph and charting applications to be quickly created that run natively in any major browser that is supported by its vendor. -
two.js
A renderer agnostic two-dimensional drawing api for the web. -
heatmap.js
🔥 JavaScript Library for HTML5 canvas based heatmaps -
rickshaw
JavaScript toolkit for creating interactive real-time graphs -
metrics-graphics
A library optimized for concise and principled data graphics and layouts. -
jointjs
A proven SVG-based JavaScript diagramming library powering exceptional UIs -
cubism
Cubism.js: A JavaScript library for time series visualization. -
processing.js
Processing.js makes your data visualizations work using web standards and without any plug-ins -
react-simple-maps
Beautiful React SVG maps with d3-geo and topojson using a declarative api. -
d3plus
A javascript library that extends D3.js to enable fast and beautiful visualizations. -
Bezier.js
A nodejs and client-side library for (cubic) Bezier curve work -
jquery.sparkline
A plugin for the jQuery javascript library to generate small sparkline charts directly in the browser -
Chartkick.js
Create beautiful charts with one line of JavaScript
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Highcharts JS or a related project?
README
Highcharts JS is a JavaScript charting library based on SVG, with fallbacks to VML and canvas for old browsers.
- Official website: www.highcharts.com
- Download page: www.highcharts.com/download
- Licensing: www.highcharts.com/license
- Support: www.highcharts.com/support
- Issues: [Repo guidelines](repo-guidelines.md)
Download and install Highcharts
This is the working repo for Highcharts. If you simply want to include Highcharts into a project, use the distribution package instead, or read the download page. Please note that there are several ways to use Highcharts. For general installation instructions, see the docs.
Use our CDN
Instead of downloading, you can use our CDN to access files directly. See code.highcharts.com for details.
<script src="https://code.highcharts.com/highcharts.js"></script>
Install from npm
See npm documentation on how to get started with npm.
npm install --save highcharts
Install from Bower
Bower is deprecated, but to install, run:
bower install highcharts
Load Highcharts from the CDN as ECMAScript modules
Starting with v6.1.0, Highcharts is available on our CDN as ECMAScript modules. You can import ES modules directly in modern browsers
without any bundling tools by using <script type="module">
(demo):
<script type="module">
import Highcharts from 'https://code.highcharts.com/es-modules/masters/highcharts.src.js';
import 'https://code.highcharts.com/es-modules/masters/modules/accessibility.src.js';
Highcharts.chart('container', {
...
});
</script>
The following example shows dynamic import with lazy-loading:
const loadHighchartsAndCreateChart = async () => {
const { default: Highcharts } =
await import('https://code.highcharts.com/es-modules/masters/highcharts.src.js');
await import('https://code.highcharts.com/es-modules/masters/highcharts-more.src.js');
await import('https://code.highcharts.com/es-modules/masters/modules/exporting.src.js');
await import('https://code.highcharts.com/es-modules/masters/modules/export-data.src.js');
Highcharts.chart('container', { /* options */ });
};
View it live on jsFiddle;
Load Highcharts from the CDN as an AMD module
Highcharts is compatible with AMD module loaders (such as RequireJS). The following example demonstrates loading Highcharts along with two modules from our CDN using RequireJS.
<html>
<head>
<script src="require.js"></script>
<script>
require.config({
packages: [{
name: 'highcharts',
main: 'highcharts'
}],
paths: {
// Change this to your server if you do not wish to use our CDN.
'highcharts': 'https://code.highcharts.com'
}
});
</script>
</head>
<body>
<div id="container"></div>
<script>
require([
'highcharts',
'highcharts/modules/exporting',
'highcharts/modules/accessibility'
], function (Highcharts) {
// This function runs when the above files have been loaded.
// Create a test chart.
Highcharts.chart('container', {
series: [{
data: [1,2,3,4,5]
}]
});
});
</script>
</body>
</html>
See it live on jsFiddle. When using AMD modules, Highcharts also allows to load multiple versions in the same page.
Load Highcharts as a CommonJS module
Highcharts is using an UMD module pattern, as a result it has support for CommonJS. The following examples presumes you are using npm to install Highcharts, see Download and install Highcharts for more details.
// Load Highcharts
var Highcharts = require('highcharts');
// Alternatively, this is how to load Highstock. Highmaps and Highcharts Gantt are similar.
// var Highcharts = require('highcharts/highstock');
// Load the exporting module, and initialize it.
require('highcharts/modules/exporting')(Highcharts);
// Generate the chart
Highcharts.chart('container', {
// options - see https://api.highcharts.com/highcharts
});
Load Highcharts as a transpiled ES6/UMD module
Since Highcharts supports ES6 (ESM - ECMAScript modules) and UMD (AMD, CommonJS), it can be also loaded as a module with the use of transpilers. Two common transpilers are Babel and TypeScript. The following examples assume you have used npm to install Highcharts; see Download and install Highcharts for more details.
Babel
import Highcharts from 'highcharts';
// Alternatively, this is how to load Highstock. Highmaps and Highcharts Gantt are similar.
// import Highcharts from 'highcharts/highstock';
// Load the exporting module.
import Exporting from 'highcharts/modules/exporting';
// Initialize exporting module. (CommonJS only)
Exporting(Highcharts);
// Generate the chart
Highcharts.chart('container', {
// options - see https://api.highcharts.com/highcharts
});
TypeScript + UMD
import Highcharts from 'highcharts';
// Alternatively, this is how to load Highstock. Highmaps and Highcharts Gantt are similar.
// import Highcharts from 'highcharts/highstock';
// Load the exporting module.
import Exporting from 'highcharts/modules/exporting';
// Initialize exporting module. (CommonJS only)
Exporting(Highcharts);
// Generate the chart
Highcharts.chart('container', {
// options - see https://api.highcharts.com/highcharts
});
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"module": "umd",
"moduleResolution": "node"
}
}
TypeScript + ESM from CDN
// Load modules the ES6 way
import Highcharts from 'https://code.highcharts.com/es-modules/masters/highcharts.src.js';
import 'https://code.highcharts.com/es-modules/masters/modules/exporting.src.js';
// Generate the chart
Highcharts.chart('container', {
// options - see https://api.highcharts.com/highcharts
});
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"baseUrl": "./",
"module": "es6",
"moduleResolution": "node",
"target": "es6",
"paths": {
"https://code.highcharts.com/es-modules/masters/*.src.js": [
"node_modules/highcharts/*.src"
]
}
}
}
Create your own custom build of Highcharts
To reduce file size, or combine modules into one file to reduce latency, you may want to create your own build of the Highcharts modules. See Creating custom Highcharts files for the description.
Build and debug
If you want to do modifications to Highcharts or fix issues, you may build your own files. Highcharts uses Gulp as the build system. After npm install
in the root folder, run gulp
, which will set up a watch task for the JavaScript and SCSS files. Now any changes in the files of the /js
or /css
folders will result in new files being built and saved in the code
folder. Other tasks are also available, like gulp lint
.
npm install
gulp
Generate API docs
Run in this highcharts
repository the doc generator with
npx gulp jsdoc-watch
, which also starts a new server with the generated API
documentation.
*Note that all licence references and agreements mentioned in the Highcharts JS README section above
are relevant to that project's source code only.