ChartJSNodeCanvas插件chartjs-plugin-annotation创建错误:未定义HTMLCanvasElement

s71maibg  于 2022-11-07  发布在  Chart.js
关注(0)|答案(1)|浏览(170)

我想在服务器上以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",

我的错误在哪里?谢谢你的帮助。

xiozqbni

xiozqbni1#

这个问题已经在1.4.0版本的注解插件中解决了。所以你只需要更新就可以解决它

相关问题