浮点图无法绘制图形的问题

问题描述

var dataprofit = [];
var databalance = [];
var datastops = [];
var aline = [];
var profit = [];
var balance = [];
var stop = [];


var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var jresp=JSON.parse(this.responseText);
        for (i=0; i<jresp.length; i++) {
            aline = jresp[i]
            profit = [aline['ticket'],aline['profit']];
            balance = [aline['ticket'],aline['balance']];
            stop = [aline['ticket'],aline['stop']];
            dataprofit.push(profit);
            databalance.push(balance);
            datastops.push(stop);
         }

        // EquityCounter.update(jresp["equity"]);
    }
};
xhttp.open("GET","https://dashboard.luxTradingfirm.com/getvalues/1234",true);
xhttp.send(null);

var optionsSeries = {
    yaxis: { min: 14000,max: 16000 },xaxis: { show: false },grid: {
        tickColor: '#dddddd',borderWidth: 0,},legend: {position: 'sw'},colors: ['#008000','rgba(65,139,202,0.5)','#FF0000']
};
var dataset = [
    {
        label: "Succeed",data: dataprofit,series: { shadowSize: 0 },lines: { fill: false },{
        label: "Balance",data: databalance,series: { shadowSize: 1 },lines: { fill: true,fillColor: { colors: [{ opacity: 1 },{ opacity: 0.1 }] } },{
        label: "Fail",data: datastops,}
];


$.plot($('#realtimechart'),dataset,optionsSeries);

代码链接中读取一个 json 对象,然后将其放入 3 个不同的数组中,使用 Flot 图表的选项将 3 个数组重新组合为 1。但是,Flotchart 不会绘制。如果我更改手动编码数组的数组(在数据集数组中),它可以完美运行。怎么了?

解决方法

数组和绘图函数的组装必须在 xhttp.onreadystatechange = function() {}

否则它将组装空数组,因为 API 调用尚未完成。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...