Chart.js Financial Charting
Chart.js module for Candlestick and OHLC charts
Usage and Roadmap
This module has not yet had its initial release and is not yet available on npm. This library depends on Chart.js and we are currently adding support for some of the necessary features there
Chart.js 2.7.0 added our timeseries scale as new option called distribution: series
. This has greatly improved support for financial timeseries.
Chart.js 2.7.1 added fixes for timeseries.
Chart.js 2.7.2 added formatting of timestamps in tooltips.
Chart.js 2.7.3 included a fix for hovering.
Chart.js 2.8.0 added datetime adapters and time scale performance improvements. This allows users to use a datetime library of their choosing such as Luxon in order to get i18n and timezone support
We would like to add better tick/label generation/autoskipping when source:data
, performance improvements for line charts, fixes for mixed chart types, support for floating bars, and timezone handling before having an initial release. The current work is centered around providing this infrastructure in the core Chart.js library. While there is not much activity in this repo, there is ongoing active development towards improved financial charting!
As we near an initial release we will add documentation. For now, please see the docs directory.
Comparison
One of the best libraries we've found for financial charts is react-stockcharts. However, it ties the user to utilizing React. Currently this library and react-stock charts are the same speed. However, we expect this library should be much faster after Chart.js 2.8.0 is released.
Because Chart.js utilizes canvas it is more performant than the majority of JavaScript charting libraries. ZingChart and Highcharts with the boost module are two options that also offer canvas rendering and may be performant.
Most chart libraries don't have great handling of timescale axes. AmCharts is one exception to this.
We are aiming to make Chart.js the only popular JavaScript library that is both performant and has good timescale handling.
Related Plugins
The plugins below may be particularly interesting to use with financial charts. See the Chart.js plugin API and longer list of plugins for more info about Chart.js plugins generally.
Building
npm install
gulp build
Examples
Out of the box examples are available here: https://chartjs.github.io/chartjs-chart-financial/