Skip to content

mbejda/plotlychartexport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plot.ly Chart Export

PlotlyChartExport uses Phantom.js to render plot.ly charts on the server. It crops the chart, base64 encodes it and returns the encoded chart in a resolving promise. It does not rely on the filesystem nor does it rely on graphics libraries like Cairo making it an effective chart rendering solution for serverless environments.

  • Only 1 Dependency
  • Works in Serverless Environments
  • Size < 10MB

Installation

npm install plotlychartexport --save

Usage

/// include library
const exp = require('plotlychartexport');

/// define plot.ly data properties
let trace1 = {
    x: [1, 2, 3, 4],
    y: [10, 15, 13, 17],
    type: 'scatter'
};
let trace2 = {
    x: [1, 2, 3, 4],
    y: [16, 5, 11, 9],
    type: 'scatter'
};

/// define plot.ly layout
let layout = {
    title: 'Line and Scatter Plot'
};

/// run render command
exp.render([trace1, trace2], layout).then((base) => {
    console.log(base); /// base64
}, (error) => {
    console.error(error);
})

Create a Serverless Chart Export

Checkout this tutorial I made on how to create serverless chart exports on AWS to see the module in action. https://www.mbejda.com/creating-serverless-plotly-chart-exports

If you are experiencing any issues with this module open up a ticket and send me a tweet. @notMiloBejda