我想在服务器上以png格式创建图表。
X轴是基于时间的,因此我需要日期适配器。
const chartJSNodeCanvas = new ChartJSNodeCanvas({
width: 512,
height: 400,
backgroundColour: "white",
plugins: {
modern: ['chartjs-plugin-annotation'],
globalVariableLegacy: ["chartjs-adapter-date-fns"],
},
});
const image = await chartJSNodeCanvas.renderToBuffer(config);
fs.writeFileSync("c:/wswin/mychart.png", image);
然后我得到错误:
error: HTMLCanvasElement is not defined HTMLCanvasElement is not defined
{"stack":"ReferenceError: HTMLCanvasElement is not defined\n
at isImageOrCanvas (C:\\Users\\baumanng\\Documents\\Visual Studio Code\\wetterstation\\node_modules\\chartjs-plugin-annotation\\dist\\chartjs-plugin-annotation.js:334:57)\n
....
如果我注解掉插件
//modern: ['chartjs-plugin-annotation'],
则它正在工作,但注解不可见。
在本地浏览器上,配置数据与注解一致。
安装软件包:
"chartjs": "^0.3.24",
"chartjs-adapter-date-fns": "^1.1.0-beta.1",
"chartjs-node-canvas": "^4.1.6",
"chartjs-plugin-annotation": "^1.3.1",
我的错误在哪里?谢谢你的帮助。
1条答案
按热度按时间xiozqbni1#
这个问题已经在1.4.0版本的注解插件中解决了。所以你只需要更新就可以解决它