Skip to content

Google Chart Tools: Image Chart wrapper for Node.js

License

Notifications You must be signed in to change notification settings

image-charts/quiche

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Quiche

Easy to use Node.js wrapper for Google Image Charts - Chart Tools (deprecated by Google) that also supports Image-Charts, a drop-in replacement for Google Image Charts.

Examples

Pie chart

Look, a pie chart Look, a pie chart

 var Quiche = require('quiche');

 var pie = new Quiche('pie');
 pie.setTransparentBackground(); // Make background transparent
 pie.addData(3000, 'Foo', 'FF0000');
 pie.addData(2900, 'Bas', '0000FF');
 pie.addData(1500, 'Bar', '00FF00');
 pie.setLabel(['Foo','Bas','Bar']); // Add labels to pie segments
 var imageUrl = pie.getUrl(true); // First param controls http vs. https

Bar chart

Bar charts are so cool Bar charts are so cool

 var Quiche = require('quiche');

 var bar = new Quiche('bar');
 bar.setWidth(400);
 bar.setHeight(265);
 bar.setTitle('Some title or something');
 bar.setBarStacked(); // Stacked chart
 bar.setBarWidth(0);
 bar.setBarSpacing(6); // 6 pixles between bars/groups
 bar.setLegendBottom(); // Put legend at bottom
 bar.setTransparentBackground(); // Make background transparent

 bar.addData([19, 19, 21, 14, 19, 11, 10, 18, 19, 30], 'Foo', 'FF0000');
 bar.addData([4, 3, 2, 3, 0, 0, 3, 4, 2, 2], 'bar', '0000FF');
 bar.addData([10, 8, 2, 1, 18, 9, 20, 21, 19, 11], 'bin', '008000');
 bar.addData([2, 1, 1, 1, 1, 7, 3, 6, 2, 7], 'bash', '00FF00');
 bar.addData([1, 0, 0, 1, 2, 1, 0, 0, 0, 0], 'blah', '307000');     

 bar.setAutoScaling(); // Auto scale y axis
 bar.addAxisLabels('x', ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']);

 var imageUrl = bar.getUrl(true); // First param controls http vs. https

Line chart

Lines Lines

 var quiche = require('quiche');

 var chart = quiche('line');
 chart.setTitle('Something with lines');
 chart.addData([3000, 2900, 1500], 'Blah', '008000');
 chart.addData([1000, 1500, 2000], 'Asdf', '0000FF');
 chart.addAxisLabels('x', ['1800', '1900', '2000']);
 chart.setAutoScaling();
 chart.setTransparentBackground();

 var imageUrl = chart.getUrl(true); // First param controls http vs. https

QR Code

QR Code

 var quiche = require('quiche');

 var qr = quiche('qr');
 qr.setLabel('https://github.com/ryanrolds/quiche');
 qr.setWidth(100);
 qr.setHeight(100);

 var url = qr.getUrl(true); // First param controls http vs. https

Note: currently not supported by Image-Charts

Documentation

Install

 $ npm install quiche

API

Supported charts

  • line
  • pie
  • bar
  • qr

All charts

  • chart.setWidth(height [number]);
  • chart.setHeight(height [number]);
  • chart.setTitle(title [string]);
  • chart.setTitleColor(color [hex color]);
  • chart.setTitleSize(size [number]);
  • chart.setTitleRight();
  • chart.setTitleLeft();
  • chart.setLegendOrder(order [string])
  • chart.setLegendLeft();
  • chart.setLegendRight();
  • chart.setLegendBottom();
  • chart.setLegendTop();
  • chart.setLegendVertical();
  • chart.setLegendHorizontal();
  • chart.setLegendHidden();
  • chart.setLegendSize([number]);
  • chart.setTransparentBackground();
  • chart.addAxisLabels(axis [x | y | r], labels [array]);
  • chart.addData(data [number | array], label [string], color [hex color]);
  • chart.setAutoScaling();
  • chart.setHostname(hostname [string]); // e.g. 'image-charts.com' to use Image-Charts (default is the deprecated 'chart.googleapis.com')
  • chart.getUrl(https [boolean]); // true = https, false = http
  • chart.getReq(https [boolean], callback [function]);
  • chart.getPostReq(https [boolean], callback [function]);

Pie

  • pie.set3D();
  • pie.setLabel();
  • pie.addPercent();

Bar

  • bar.addData();
  • bar.setBarWidth([number]);
  • bar.setBarSpacing([number]);
  • bar.setBarVertical();
  • bar.setBarHorizontal();
  • bar.setBarGrouped();
  • bar.setBarStacked();
  • bar.setBarOverlapped();

Line

  • line.addData(data [number | array], label [string], color [hex color], thickness [number], line length [number], space length [number]);
  • line.setSparklines();
  • line.setXY();

QR Code

  • qr.setLabel(data [string]);
  • qr.setEncoding(encoding [UTF-8 | Shift_JS | ISO-8859-1]);
  • qr.setErrorCorrectionLevel(level [string]) // https://developers.google.com/chart/infographics/docs/qr_codes
  • qr.setMargin(margin [number]); // Margin around graphic
  • qr.setWidth(width [number]);
  • qr.setHeight(height [number]);
  • qr.getUrl(https [boolean]); // true = https, false = http

Features

  • Pie charts
  • Bar charts
  • Auto scaling

TODO

  • Documentation
  • More chart types
  • Better confict handling

About

Google Chart Tools: Image Chart wrapper for Node.js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%