| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // npm install echarts canvas
- const fs = require('fs');
- const { createCanvas } = require('canvas');
- const echarts = require('echarts');
- module.exports = class ChartKit {
- static printChart(dataList) {
- // 创建一个 canvas 实例
- const width = 1920; // 宽度
- const height = 1080; // 高度
- const canvas = createCanvas(width, height);
- // 初始化 ECharts 实例
- const chart = echarts.init(canvas);
- // ECharts 配置项
- let option = {
- title: {
- text: '散点图'
- },
- xAxis: {},
- yAxis: {},
- series: [
- {
- symbolSize: 10,
- data: dataList,
- type: 'scatter'
- }
- ]
- };
- // 设置图表的配置项和数据
- chart.setOption(option);
- // 等待图表渲染完毕
- setTimeout(() => {
- const buffer = canvas.toBuffer('image/png');
- fs.writeFileSync('chart.png', buffer);
- chart.dispose(); // 释放图表实例,防止内存泄漏
- console.log('图表已保存为 chart.png');
- }, 1000); // 设置一个延时以确保图表渲染完成
- }
- }
|