从 plotly 直播流情节中获得固定响应 URL
Having a fixed response URL from plotly live stream plot
我打算绘制我的直播数据。使用 plotly https://github.com/chintanp/node_serial_uC/blob/master/stream_hum.js works and I can get the data plotted and updating in real-time at a unique (and random) URL like https://plot.ly/~chintanp/107(这是一个示例响应 url,现在可能无法正常工作),但是我在对函数调用 plotly.plot(...)
的响应中得到的这个 url 更改为我服务器的每个新 运行 都有一个新值。
有没有办法可以将这个 URL 设置为一个固定值,这样它就不会在我每次重新启动我的节点服务器时改变?
您想做的是覆盖或扩展固定文件名的现有绘图。这样,每次调用 Plotly.plot
时,它都会写入数据库中的同一图,该图可在固定的 URL 处访问。使用当前版本 1 API(您正在使用的版本)实现此目的的方法是为每个 运行.
传递相同的 filename
var plotly = require('plotly')('username','apiKey');
var data = [{x:[], y:[], stream:{token:'yourStreamtoken', maxpoints:200}}];
var graphOptions = {fileopt : "overwrite", filename : "yourfilename"};
plotly.plot(data, graphOptions, function() {
var stream = plotly.stream('yourStreamtoken', function (res) {
console.log(res);
});
someReadableStream.pipe(stream);
});
每次启动服务器时 "yourfilename"
都应该相同。另请注意,fileopt
设置为 "overwrite"
。这将清除流缓冲区中的任何现有数据。如果您将 fileopt
设置为 "extend"
,它会将您正在流式传输的新数据附加到之前 运行 中仍然保留的任何数据上。
我发现在开发过程中最好使用 "overwrite"
而在生产中使用 "extend"
通常是有意义的(这样你就可以从 tcp 断开连接中恢复)。
我打算绘制我的直播数据。使用 plotly https://github.com/chintanp/node_serial_uC/blob/master/stream_hum.js works and I can get the data plotted and updating in real-time at a unique (and random) URL like https://plot.ly/~chintanp/107(这是一个示例响应 url,现在可能无法正常工作),但是我在对函数调用 plotly.plot(...)
的响应中得到的这个 url 更改为我服务器的每个新 运行 都有一个新值。
有没有办法可以将这个 URL 设置为一个固定值,这样它就不会在我每次重新启动我的节点服务器时改变?
您想做的是覆盖或扩展固定文件名的现有绘图。这样,每次调用 Plotly.plot
时,它都会写入数据库中的同一图,该图可在固定的 URL 处访问。使用当前版本 1 API(您正在使用的版本)实现此目的的方法是为每个 运行.
filename
var plotly = require('plotly')('username','apiKey');
var data = [{x:[], y:[], stream:{token:'yourStreamtoken', maxpoints:200}}];
var graphOptions = {fileopt : "overwrite", filename : "yourfilename"};
plotly.plot(data, graphOptions, function() {
var stream = plotly.stream('yourStreamtoken', function (res) {
console.log(res);
});
someReadableStream.pipe(stream);
});
每次启动服务器时 "yourfilename"
都应该相同。另请注意,fileopt
设置为 "overwrite"
。这将清除流缓冲区中的任何现有数据。如果您将 fileopt
设置为 "extend"
,它会将您正在流式传输的新数据附加到之前 运行 中仍然保留的任何数据上。
我发现在开发过程中最好使用 "overwrite"
而在生产中使用 "extend"
通常是有意义的(这样你就可以从 tcp 断开连接中恢复)。