Ale*_*ger 39 chart.js chart.js3
我升级到最新的 Chart.JS 版本 3.0.2。我正在尝试获取要渲染的时间序列图表。这是我的配置:
{
type: 'line',
data: {
datasets: [{
data: dataForChart
}]
},
options: {
scales: {
x: {
type: 'time'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经像这样导入了模块:
import ChartJS from 'chart.js/auto';
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
Error: This method is not implemented: either no adapter can be found or an incomplete integration was provided.
Run Code Online (Sandbox Code Playgroud)
关于我可能犯的错误有什么建议吗?
这是一个存在该问题的代码沙箱:https://codesandbox.io/s/throbbing-cdn-j6q2u ?file=/src/App.js
小智 20
这个答案来得有点晚了,但对于每个在这里绊倒的人来说:你需要一个日期适配器。在这里找到完整的列表
一旦你在根目录中安装了 ie date-fns,npm install date-fns chartjs-adapter-date-fns --save你必须做两件事才能使它在你的 React 项目中工作:
import 'chartjs-adapter-date-fns';并import { enUS } from 'date-fns/locale'; options = {
...
scales: {
x: {
type: 'time',
// add this:
adapters: {
date: {
locale: enUS,
},
},
}
},
...
}
Run Code Online (Sandbox Code Playgroud)
小智 16
您需要一个如上所述的适配器。看这里: https: //github.com/chartjs/chartjs-adapter-date-fns#cdn
一种选择是添加以下 cdn 链接:
<script src="https://cdn.jsdelivr.net/npm/chart.js/dist/chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.bundle.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
如您的错误和文档中所述,您需要一个适配器将日期转换为日期对象,请参阅文档: https: //www.chartjs.org/docs/latest/axes/cartesian/time.html#date-adapters