Chart.js 金融图表
用于蜡烛图和OHLC图的Chart.js模块
发展路线
Chart.js 2.7.0添加了我们的时间序列刻度作为新选项,称为distribution: series
。这极大地改善了对金融时间序列的支持。
Chart.js 2.7.1添加了时间序列的修复。
Chart.js 2.7.2添加了工具提示中的时间戳格式化。
Chart.js 2.7.3包含了悬停的修复。
Chart.js 2.8.0添加了日期时间适配器和时间刻度性能改进。这允许用户使用他们选择的日期时间库,如Luxon,以获得国际化和时区支持。
Chart.js 2.9.0添加了改进的自动跳过、浮动条形图支持、更好的混合图表类型支持,以及多项性能改进。
Chart.js 3.0.0取消了对自定义刻度的需求,这意味着现在支持对数刻度。它还有多项性能改进。
Chart.js 4.0.0有一些破坏性变更,需要修改此库的配置。查看更新后的示例以了解必要的变更。
比较
我们的目标是使Chart.js成为唯一既高性能又具有良好时间刻度处理的流行JavaScript库。
大多数图表库对时间刻度轴的处理不佳,不会总是选择月初、年初等作为标签。这个库利用了我们在Chart.js中引入的主要刻度概念。例如,它会确保先绘制每个月的第一天,然后再绘制中间的日期。
我们发现的最好的金融图表库之一是react-stockcharts。然而,它将用户限制在使用React上。
由于Chart.js使用canvas,它比大多数JavaScript图表库更高效。在最快JavaScript图表库的基准测试中,Chart.js表现尚可。Chart.js比一些最快的库如uPlot慢,因为它接受各种输入(解析、线性和时间序列支持的时间刻度等)并支持动画(即使关闭动画,由于代码结构,仍然有成本)。
文档
随着我们接近初始版本,我们将添加更多文档。目前,请参阅docs目录。
示例
示例可在此处查看:https://chartjs.github.io/chartjs-chart-financial/
日期库和IE支持
由于我们使用了一些较新的ES特性,可能不支持IE。我们需要应用Babel来解决这个问题。
Chart.js要求您提供一个日期库。示例使用chartjs-adapter-luxon,它对国际化和时区有最好的支持。然而,为了在IE中使用Luxon,您需要提供polyfills。如果您需要IE支持,使用其他日期库如Moment或date-fns可能更容易。请查看Chart.js文档以了解更多关于日期适配器的细节。
相关插件
以下插件可能特别适合用于金融图表。有关Chart.js插件的更多信息,请参阅Chart.js插件API和更长的插件列表。
构建
npm install
gulp build