Plotly Node API
Analyze and Visualize Data, Together
If you have a question about streaming let us know or open an issue!
ben@plot.ly
&& alexandre@plot.ly
Streaming Plot Examples
Installation
npm install plotly
Usage
var plotly = 'username''apiKey'; var data = x: y: stream:token:'yourStreamtoken' maxpoints:200;var graphOptions = fileopt : "extend" filename : "nodenodenode"; plotly;
https://plot.ly/api/rest/
Full REST API Documentation can be found here:Sign up for plotly here: https://plot.ly/ and obtain your API key and Stream Tokens in your plotly settings: https://plot.ly/settings.
Methods
var plotly = require('plotly')(username, apiKey)
username
is a string containing your username
apiKey
is a string containing your API key
var plotly = 'username' 'apiKey';
plotly.plot(data,graphOptions[, callback])
Plotly graphs are described declaratively with a data JSON Object and a graphOptions JSON Object.
data
is an array of Objects and with each object containing data and styling information of separate graph traces. Docs: https://plot.ly/api/rest
graphOptions
is an Object containing styling options like axis information and titles for your graph. Docs: https://plot.ly/api/rest
callback(err,msg)
where err
is an error Object, and msg
is the return response Object
The msg
object has the following attributes : msg.url
,msg.filename
,msg.message
,msg.warning
,msg.error
// examples/rest-example.js var plotly = 'username''apiKey'; var data = x:012 y:321 type: 'bar';var graphOptions = fileopt : "extend" filename : "nodenodenode"; plotly;
var stream = plotly.stream(token[, callback])
token
accepts a token string
callback(res)
where res
is a the response object with the following attributes : res.msg
, res.statusCode
// examples/streaming-example.jsvar plotly = 'username''apiKey'; var initData = x: y: stream:token:'token' maxpoints:200;var initGraphOptions = fileopt : "extend" filename : "nodenodenode"; plotly;
// examples/signal-stream.js /* If you have not signed up for Plotly you can do so using https://plot.ly * or see the example signup.js. Once you do, populate the config.json in this * example folder! */var config = username = config'user' apiKey = config'apiKey' token = config'token' Plotly = username apiKey Signal = // build a data object - see https://plot.ly/api/rest/docs for informationvar data = 'x': // empty arrays since we will be streaming our data to into these arrays 'y': 'type':'scatter' 'mode':'lines+markers' marker: color: "rgba(31, 119, 180, 0.96)" line: color:"rgba(31, 119, 180, 0.31)" stream: "token": token "maxpoints": 100 // build your layout and file optionsvar graphOptions = "filename": "streamSimpleSensor" "fileopt": "overwrite" "layout": "title": "streaming mock sensor data" "world_readable": true /* * Call plotly.plot to set the file up. * If you have included a streaming token * you should get a "All Streams Go!" message */ Plotly
plotly.getFigure(fileOwner, fileId[, callback])
file_owner
accepts a string of the file owner's name
fileId
is an integer, representing the graph ID
callback(figure)
where figure
is a the JSON object of the graph figure
var plotly = 'username''apiKey'; plotly;
plotly.getImage(figure[, options, callback])
figure
is a JSON object of the graph figure
options.format
| jpg
, png
, pdf
, eps
, webp
options.width
| width in px
(default : 700)
options.height
| height in px
(default : 500)
callback(err, imageData)
err
is an Error Object
imageStream
is a Stream of base-64 encoded imageData
var plotly = 'username''apiKey';var fs = ; var trace1 = x: 1 2 3 4 y: 10 15 13 17 type: "scatter"; var figure = 'data': trace1 ; var imgOpts = format: 'png' width: 1000 height: 500; plotly;
You can also use getFigure()
and getImage()
together!
var plotly = 'username''apiKey'; // grab the figure from an existing plotplotly;
plotly.deletePlot(fid[, callback])
fid
is a String, the id of the plot you wish you delete
callback
is a function with err
and plot
as parameters. err
, if present, is the error message returned from the request. plot
is the plot that was deleted.
var plotly = 'username''apiKey'; plotly;