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).
- Official Website: https://www.fusioncharts.com/
- Documentation: https://www.fusioncharts.com/dev/
- Download page: https://www.fusioncharts.com/download/
- Licensing: Legal Terms & Customer Agreements
- Support: https://www.fusioncharts.com/contact-support
- Issues: https://github.com/fusioncharts/fusioncharts-dist/issues
- FusionCharts version 4.1.0 introduces scrollbar for Waterfall Charts x-axis. Which improves user experience with the layout and scope for additional amount of Data.
- FusionCharts version 4.1.0 upgrades the version for underline dependencies of the 'react-native-fusioncharts' package and makes it compatible with 0.70.x, 0.71.x, 0.72.x, 0.73.x and 0.74 versions.
- Removed the Expo dependency from the react-native-fusioncharts package, now utilizing native packages, resulting in a reduced overall bundle size.
- FusionCharts version 4.1.0 added new dynamic attributes to control the look and feel of the legend scrollbars.
- The useLegendScrollGradient attribute determines whether to enable or disable gradient colors. If the set value is 1, you need to provide gradient colors for legendScrollTrackColor and legendScrollAnchorColor in the form of an object with angle, startColor, and endColor. If the value is set to 0, you should provide legendScrollTrackColor and legendScrollAnchorColor in hexadecimal format instead of an object.
- Upgraded third-party integrations support:
- Updated ember dependency with the latest version.
- Addressed dependabot pull requests, to improve security.
- FusionCharts 4.1.0 added Content Security Policy (CSP) compatibility for the require-trusted-types-for 'script' and style-src directive.
- Resolved an accessibility issue where the tab would focus on the overall chart area instead of the chart plot when the chart did not have a first x-axis value.
- Fixed an issue where Multie-Pie charts were not resizing correctly without applying a re-render.
- Addressed an issue where the watermark from the map was not removed on the application of a valid license key for chart type: maps/france2016.
- Resolved an issue in the legend-item.js file where the legendData object properties were not passed to the getAnchorProps function causing it to apply the same properties to every legend item, regardless of the data.
- Fixed the issue of specific series not getting highlighted in the Crossline tooltip when 'applycsstransform' attribute was set to 1.
- Fixed the issue where on hovering over the data plot, the tooltip showed incorrect values when the cursor moved out of the plot area for the scrollbar2d chart when drawCrossLine is enabled for Scrollbar2d chart and Scroll Stacked bar charts.
- Installing FusionCharts
- Getting Started
- Using FusionCharts as an ES Module
- Related Packages
- Using Themes
- FusionMaps
- Going beyond Charts
- Version History
- Contact Support
- Folder Structure
There are multiple ways to install FusionCharts. For general instructions, refer to this developer docs page.
All binaries are located on our github repository. You can also download zipped version here.
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>
npm install --save fusioncharts [node version v14.12.0 (npm v6.14.8)]
See npm documentation to know more about npm usage.
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 () {
// chart instance
var chart = new FusionCharts({
type: "column2d",
renderAt: "chart-container", // container where chart will render
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
// chart configuration
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels"
},
// chart data
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:
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";
// include chart from viz folder - import ChartType from fusioncharts/viz/[ChartType];
import Column2D from "fusioncharts/viz/column2d";
// add chart as dependency - FusionCharts.addDep(ChartType);
FusionCharts.addDep(Column2D);
// instantiate the chart.
var chartInstance = new FusionCharts({
type: "Column2D",
renderAt: "chart-container", // div container where chart will render
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
// chart configuration
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels",
},
// chart data
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 the chart
chartInstance.render();
Want to render data-driven maps (FusionMaps) - check out this link.
AngularJS (1.x and above) | Github Repo | Documentation |
Angular (2.x and above) | Github Repo | Documentation |
jQuery | Github Repo | Documentation |
React | Github Repo | Documentation |
Vue | Github Repo | Documentation |
Ember | Github Repo | Documentation |
ASP.NET (C#) | Github Repo | Documentation |
ASP.NET (VB) | Github Repo | Documentation |
Java (JSP) | Github Repo | Documentation |
Django | Github Repo | Documentation |
PHP | Github Repo | Documentation |
Ruby on Rails | Github Repo | Documentation |
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 () {
// chart instance
var chart = new FusionCharts({
type: "column2d",
renderAt: "chart-container", // container where chart will render
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
// chart configuration
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels",
theme: "fusion", //Specifying which theme to use
},
// chart data
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>
import FusionCharts from "fusioncharts/core";
// include chart from viz folder - import ChartType from fusioncharts/viz/[ChartType];
import Column2D from "fusioncharts/viz/column2d";
// include theme from themes folder
import fusionTheme from "fusioncharts/themes/es/fusioncharts.theme.fusion";
// add chart as dependency - FusionCharts.addDep(ChartType);
FusionCharts.addDep(Column2D);
FusionCharts.addDep(fusionTheme);
// instantiate the chart.
var chartInstance = new FusionCharts({
type: "Column2D",
renderAt: "chart-container", // container where chart will render
width: "600",
height: "400",
dataFormat: "json",
dataSource: {
// chart configuration
chart: {
caption: "Countries With Most Oil Reserves [2017-18]",
subcaption: "In MMbbl = One Million barrels",
theme: "fusion",
},
// chart data
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 the chart
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 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:
- 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.
Fill this form or drop an email to support@fusioncharts.com
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.