我是 HTML 和 JAVASCRIPT 新手,我正在尝试绘制烛台图,从 python 加载数据,通过 javascript 槽 eel 模块将其发送到。图为绘图所需的[data]的console.log。情节没有显示。当我手动设置 X 关闭高低打开时它可以工作。 谁能告诉我哪里出了问题?
var X = [];
var Op = [];
var Hi = [];
var Lo = [];
var Clo = [];
rows = eel.test("SOLUSDT", "1w")();
rows.then(value => value.map(function(row) {
X.push(new Date(row[0]))}));
rows.then(value => value.map(function(row) {
Op.push(parseFloat(row[1]))}));
rows.then(value => value.map(function(row) {
Hi.push(parseFloat(row[2]))}));
rows.then(value => value.map(function(row) {
Lo.push(parseFloat(row[3]))}));
rows.then(value => value.map(function(row) {
Clo.push(parseFloat(row[4]))}));
var trace = {
//x: X,
close: Clo,
high: Hi,
low: Lo,
open: Op,
// cutomise colors
increasing: {line: {color: 'black'}},
decreasing: {line: {color: 'red'}},
type: 'candlestick',
xaxis: 'x',
yaxis: 'y'
};
var data = [trace];
console.log(data)
var layout = {
dragmode: 'zoom',
showlegend: false,
xaxis: {
rangeslider: {
visible: true
}
}
};
Plotly.newPlot('athrjy', data, layout);
我觉得问题就出在这里,但还是找不到解决办法。
我无法访问数组的元素。 console.log(relay[0]) 输出“未定义”。
屏幕截图显示控制台:
var i = 0
rows.then(value => value.map(function(row) {
relay[i] = parseFloat(row[4]);
console.log(relay[i])
i +=1;
}));
console.log(relay[0])