
FusionCharts is a JavaScript charting library providing 100+ charts and 2,000+ maps for your web and mobile applications. All the visualizations are interactive and animated, which are rendered in SVG and VML (for IE 6/7/8).
This package also contains FusionTime (timeseries charts), FusionWidgets (gauges, real-time charts), PowerCharts (statistical and advanced charts), and FusionMaps (choropleth geo maps).
What's New
New Features
- FusionCharts enhanced interactivity with draggable taskbars in the FusionCharts Gantt chart. Users can use
allowDrag
attribute to enable the draggable feature and dataplotdragmove
event to track the previous and new positional values of the taskbar - An attribute called
markerLabelOffset
is introduced. This attribute allows to control the position of the marker labels on AngularGauge trend points, aiming to address the problem of overlap that occurs with small differences in values - Added an attribute
showValues
to the StackedBar2DChartswhich enables users to auto-hide or show the chart if the text overflows the bar subsection
Improvements
- Updated the watermark text for Licence Expired Customers
- Restructured the angular-fusion grid dependency package to support the latest Angular versions from version 14 to the most recent version 17
- Improved the behavior of the Gantt chart to adapt to any screen size with new responsive functionality effortlessly
- Added a method to prevent unnecessary HTML in ASP.NET to prevent DataStream URL implementation errors
- Upgraded to support working with react-native version 0.73.3
- Improved the rendering of the Indonesia region in maps
- Updated Source Data examples on FusionCharts website to display examples with the latest data
BugFixes
- Fixed the issue with Inline styling not getting applied when labels/displayValue have HTML elements and
tag in them
- Resolved the issue where the link attribute was not working in Zoom Scatter chart
- Addressed an issue where the entire chart container was re-rendered when invoking setJSONdata method
- Fixed an issue where scrollTo method was resetting the scrollbar position when using setJSONData or setChartData
- The rendering issues of Japan's 16 provinces were resolved. These provinces include Yamagata, Tochigi, Saitama, Tokyo, Toyama, Yamanashi, Shizuoka, Shiga, Wakayama, Tottori, Shimane, Okayama, Yamaguchi, Tokushima, Saga, and Okinawa.
- Fixed the issue where certain values skewed the Radial bar
- Starting FusionCharts 3.23, charts are now rendering correctly when using jsonurl data format
- Resolved the issue where Microsoft Narrator could not read the chart plot details when using the accessibility extension in a certain configuration of Windows 10 and Chrome
- Two additional provinces were incorporated into Costa Rica maps: Monteverde and Puerto Jimenez
- Resolved the issue where exporting PDF reports resulted in incomplete information when using the Drag Node chart with a specific dataset
- Resolved an issue where the Dashboard section on the website was not integrated with Eloqua and the DataStories section was integrated with Eloquoa but the zip was not downloadable
Table of Contents
Installing FusionCharts
There are multiple ways to install FusionCharts. For general instructions, refer to this developer docs page.
Direct Download
All binaries are located on our github repository. You can also download zipped version here.
Using CDN
Instead of downloading, you can also use FusionCharts’s CDN to access files directly. See below for details
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
Install from NPM
npm install --save fusioncharts [node version v14.12.0 (npm v6.14.8)]
See npm documentation to know more about npm usage.
Getting Started
Easiest way to start with FusionCharts is to include the JavaScript library in your webpage, create a <div>
container and chart instance, configure the data and render. Check this HTML snippet below:
<!doctype html>
<html>
<head>
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
</head>
<body>
<div id="chart-container"></div>
<script>
FusionCharts.ready(function () {
var chart = new FusionCharts({
type: "column2d",
renderAt: "chart-container",
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels"
},
data: [
{ label: "Venezuela", value: "290000" },
{ label: "Saudi", value: "260000" },
{ label: "Canada", value: "180000" },
{ label: "Iran", value: "140000" },
{ label: "Russia", value: "115000" },
{ label: "UAE", value: "100000" },
{ label: "US", value: "30000" },
{ label: "China", value: "30000" }
]
}
}).render();
});
</script>
</body>
</html>
Here’re links to quick start guides:
Using FusionCharts as an ES Module
FusionCharts can be loaded as an ES module via transpilers.
The following examples presumes you are using npm to install FusionCharts, see Install FusionCharts for more details.
import FusionCharts from "fusioncharts/core";
import Column2D from "fusioncharts/viz/column2d";
FusionCharts.addDep(Column2D);
var chartInstance = new FusionCharts({
type: "Column2D",
renderAt: "chart-container",
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels",
},
data: [
{ label: "Venezuela", value: "290000" },
{ label: "Saudi", value: "260000" },
{ label: "Canada", value: "180000" },
{ label: "Iran", value: "140000" },
{ label: "Russia", value: "115000" },
{ label: "UAE", value: "100000" },
{ label: "US", value: "30000" },
{ label: "China", value: "30000" },
],
},
});
chartInstance.render();
Want to render data-driven maps (FusionMaps) - check out this link.
Related Packages
Front-end Integrations
Back-end Integrations
Using Themes
FusionCharts provides several out-of-the box themes that can be applied to all the charts to configure the visual appearance of the charts. Below is an example on how to use a theme:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/fusioncharts.js"></script>
<script src="https://cdn.fusioncharts.com/fusioncharts/latest/themes/fusioncharts.theme.fusion.js"></script>
</head>
<body>
<div id="chart-container"></div>
<script>
FusionCharts.ready(function () {
var chart = new FusionCharts({
type: "column2d",
renderAt: "chart-container",
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels",
theme: "fusion",
},
data: [
{ label: "Venezuela", value: "290000" },
{ label: "Saudi", value: "260000" },
{ label: "Canada", value: "180000" },
{ label: "Iran", value: "140000" },
{ label: "Russia", value: "115000" },
{ label: "UAE", value: "100000" },
{ label: "US", value: "30000" },
{ label: "China", value: "30000" },
],
},
}).render();
});
</script>
</body>
</html>
Using themes in ES6
import FusionCharts from "fusioncharts/core";
import Column2D from "fusioncharts/viz/column2d";
import fusionTheme from "fusioncharts/themes/es/fusioncharts.theme.fusion";
FusionCharts.addDep(Column2D);
FusionCharts.addDep(fusionTheme);
var chartInstance = new FusionCharts({
type: "Column2D",
renderAt: "chart-container",
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels",
theme: "fusion",
},
data: [
{ label: "Venezuela", value: "290000" },
{ label: "Saudi", value: "260000" },
{ label: "Canada", value: "180000" },
{ label: "Iran", value: "140000" },
{ label: "Russia", value: "115000" },
{ label: "UAE", value: "100000" },
{ label: "US", value: "30000" },
{ label: "China", value: "30000" },
],
},
});
chartInstance.render();
See all the themes live here. Check out this link to know more about themes. Want us to build a theme to suit your corporate branding? Request one here!
FusionMaps
FusionMaps is a companion package meant to be used in conjunction with FusionCharts to render choropleth geo maps. FusionMaps provide over 1,400+ geographical maps, including all countries, US states, and regions in Europe for plotting business data like revenue by regions, employment levels by state and office locations. See below links to know more:
Going beyond Charts
- Explore 20+ pre-built business specific dashboards for different industries like energy and manufacturing to business functions like sales, marketing and operations here.
- See Data Stories built using FusionCharts’ interactive JavaScript visualizations and learn how to communicate real-world narratives through underlying data to tell compelling stories.
Version History
Contact Support
Fill this form or drop an email to [support@fusioncharts.com](mailto: support@fusioncharts.com)
Folder Structure
fusioncharts/
├── core/ - Contains the FusionCharts core.
├── viz/ - Contains all the individual vizualizations (Column2D, SplineArea, AngularGauge etc.)
├── charts/ - Contains all the visualizations of the Charts package (similar to fusioncharts.charts.js).
├── powercharts/ - Contains all the visualizations of the PowerCharts package.
├── timeseries/ - Contains all the visualizations of the FusionTime package.
├── widgets/ - Contains all the visualizations of the FusionWidgets package.
├── maps/ - Contains the map renderer
│ └── es/ - Contains the map definition files of World and USA
└── themes/es - Contains all the theme files.