Chart.js on the server in Node.js 8.x.x or later
Based on previous work by https://github.com/vmpowerio/chartjs-node
With a few improvements we think:
- Uses the newer
9.x.x11.x.x version of JSDOM - Does not pollute node's global namespace
Note that we strongly advise against trying to "execute scripts" by mashing together the jsdom and Node global environments (e.g. by doing global.window = dom.window), and then executing scripts or test code inside the Node global environment. Instead, you should treat jsdom like you would a browser, and run all scripts and tests that need access to a DOM inside the jsdom environment, using window.eval or runScripts: "dangerously". This might require, for example, creating a browserify bundle to execute as a <script> element—just like you would in a browser.
node-canvas - a Cairo backed Canvas implementation for NodeJS. See installation wiki
jsdom - a implementation of the WHATWG DOM and HTML standards for use with node.js
You'll need to npm install chart.js as it is a peer dependency of node-chartjs. Tested with chart.js@2.4.x any later and we have artifacts there are some issues open upstream, we anticipate fixes in 2.8.x*
Also make sure you have installed canvas' dependencies (see installation wiki)
npm install node-chartjs
constChart=require('node-chartjs')constchart=newChart(200,200)// 1000 x 1000 is defaultchart.makeChart({ ... }).then(res=>{chart.drawChart()chart.toFile('test.line.png').then(_=>{// file is written})})See examples folder for more