Ret*_*mer 11 javascript socket.io plotly
Uncaught ReferenceError: Plotly is not defined我的页面加载时出现错误。以下代码位于渲染绘图的 div 元素下方,但在侦听器Plotly.newPlot('myDiv', dataPlot, layout);内的行socket.on上是抛出此错误的位置。
var dataPlot = [{
x: ['a', 'b', 'c', 'd'],
y: [0, 0, 0, 0],
type: 'bar'
}];
var layout = {
autosize: false,
width: 500,
height: 500,
margin: {
l: 50,
r: 50,
b: 100,
t: 100,
pad: 4
}
};
// Listener, whenever the server emits 'updatechat', this updates the chat body
socket.on('updatechat', function (username, data) {
$('#conversation').append('<b>'+username + ':</b> ' + data + '<br>');
if (data ==='a'){
dataPlot[0]['y'][0]++;
} else if (data === 'b'){
dataPlot[0]['y'][1]++;
} else if (data === 'c'){
dataPlot[0]['y'][2]++;
} else if (data === 'd'){
dataPlot[0]['y'][3]++;
}
Plotly.newPlot('myDiv', dataPlot, layout);
});
$("#clearplot").click(function() {
var dataPlot = [{
x: ['a', 'b', 'c', 'd'],
y: [0, 0, 0, 0],
type: 'bar'
}]
Plotly.newPlot('myDiv', dataPlot, layout);
});
Run Code Online (Sandbox Code Playgroud)
我已经包含<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>在我的 HTML5 文档的头部,并且Plotly.newPlot('myDiv', dataPlot, layout);我的clearplot函数内工作得很好。为什么只在updatechat侦听器中有错误?
编辑
我想出了这个问题。问题是这段代码嵌入在一个 Angular 应用程序中,所以我只需要<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>在模板 HTML 文件的头部中包含 ,而不是本地 HTML 文件。
看起来您忘记Plotly在代码中包含脚本引用。
尝试添加:
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
在<head>HTML 页面的部分中。