Skip to content

Instantly share code, notes, and snippets.

@sedouard
sedouard / chartjs-node.js
Created September 16, 2016 23:22
Trying to use Chart.js sever-side
var Canvas = require('canvas')
, Image = Canvas.Image;
var fs = require('fs');
var jsdom = require("jsdom");
jsdom.defaultDocumentFeatures = {
FetchExternalResources: ["script"],
ProcessExternalResources: true
};
global.Canvas = Canvas;
global.Image = Canvas.Image;
@sedouard
sedouard / chartjs-object
Created September 16, 2016 23:23
ChartJS Object
{ chart:
{ config: { type: 'bar', data: [Object], options: [Object] },
ctx:
CanvasRenderingContext2D {
canvas: HTMLCanvasElement {},
createPattern: [Function],
drawImage: [Function],
lastFontString: 'normal 12px \'Helvetica Neue\', \'Helvetica\', \'Arial\', sans-serif',
lastTextAlignment: 'right',
lastBaseline: 'middle' },
@sedouard
sedouard / chartjs-example.js
Created September 17, 2016 00:53
Chart.js Example
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
@sedouard
sedouard / canvas-chartjs.js
Created September 17, 2016 00:54
Using Canvas.js in Node.js
// Using the node canvas module
var fs = require('fs');
var jsdom = require("jsdom");
jsdom.defaultDocumentFeatures = {
FetchExternalResources: ["script"],
ProcessExternalResources: true
};
jsdom.env('<html><body><div id="chart-div" style="font-size:12; width:800px; height:800px;"><canvas id="myChart" width="400" height="400" style="width:400px;height:400px"></canvas>></div></body></html>',
['https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.2.2/Chart.js'],
function (err, window) {
@sedouard
sedouard / canvast-toblob.js
Created September 17, 2016 00:56
Canvas.js ToBlob
canvas.toBlob(function(blob) {
var fs = require('fs'),
out = fs.createWriteStream(__dirname + '/chart.png');
out.write(jsdom.blobToBuffer(blob));
}, "image/png");