将CHARTJS与JavaScript数组一起使用

将CHARTJS与JavaScript数组一起使用,javascript,arrays,csv,charts,chart.js,Javascript,Arrays,Csv,Charts,Chart.js,我对以下代码有一些问题: function processData(csv) { var allTextLines = csv.split(/\r\n|\n/); var tarr = []; for (var i=1; i<11; i++) { var data = allTextLines[i].split(';'); if (i==1) { tarr = [{ comman

我对以下代码有一些问题:

 function processData(csv)
 {
    var allTextLines = csv.split(/\r\n|\n/);
    var tarr = [];

    for (var i=1; i<11; i++) 
    {
        var data = allTextLines[i].split(';');
        if (i==1)
        {
            tarr = [{ commande: data[0], periode: data[1], jours: data[2] }];  
        }

        tarr = tarr.concat([{ commande: data[0], periode: data[1], jours: data[2] }]);
    }   

    $('#chartContainer').dxChart('option', 'dataSource', tarr);
 }
这是我用来制作我的第一张图表的代码(没有阅读任何内容),它似乎工作得很好

使用tarr数组刷新此图表,读取CSV文件是我的问题

Y轴完全失控!(多个值,多个0,X轴损坏,但不是图表本身,因为我在CSV文件中放入了随机值)

我的(简单)CSV:


我不明白。任何帮助都将不胜感激

首先检查regexp
csv.split(/\r\n |\n/)
是否返回行数组。如果正确,则应重写方法,以便:

function processData(csv)
{
    var allTextLines = csv.split(/\r\n|\n/);
    var tarr = [];

    for (var i = 1; i < allTextLines.length; i++) 
    {
        var data = allTextLines[i].split(';');
        tarr.push({ commande: data[0], periode: data[1], jours: parseFloat(data[2]) });
    }

    $('#chartContainer').dxChart('option', 'dataSource', tarr);
}
函数processData(csv)
{
var allTextLines=csv.split(/\r\n |\n/);
var-tarr=[];
对于(变量i=1;i
我在loo内移动了
var数据
;将
concat
替换为
push
;并用数组的长度替换数字11


证明它在JSFIDLE上有效:

感谢您的回答。循环中的Var数据是一个复制/粘贴错误,在我进行测试时,它通常在循环中(11的情况也是如此)。我编辑。我试着推而不是康卡特:它不起作用。基本上,在concat正常的情况下,使用push根本不会生成任何图表,除了Y轴有哑值:(11/57/61/62/0/0/等)它应该是100%刻度!在我的示例中,push将创建与concat相同的数组,您只是使用了错误的数组。Y轴看起来很糟糕,因为它从某些不正确的属性获取值。指定argumentField和valueField,如示例所示:MyArgumentField和valueField都是OK。这不是关于创建一个新图表(即使…),而是关于刷新一个现有图表。我已经有:$(“#chartContainer”).dxChart({dataSource:dataSource,commonSeriesSettings:{argumentField:“periode”,valueField:“jours”//etc}它工作得很好。它充满了一个var数据源,就像我在原始帖子中提到的,不是一个可读的。无论如何,我很抱歉,我不能推(我刚刚试过你的代码,它什么也不产生),而concat看起来不错,但很糟糕。
commande,periode,jours
Commande 001;2014/01;0.0
Commande 002;2014/01;86.0
Commande 001;2014/02;83.0
Commande 002;2014/02;78.0
Commande 001;2014/03;81.0
Commande 002;2014/03;76.0                  
Commande 001;2014/04;83.0
Commande 002;2014/04;38.0
Commande 001;2014/05;81.0
Commande 002;2014/05;0.0
Commande 001;2014/06;100.0
Commande 002;2014/06;0.0                 
Total;2014/01;72.0
Total;2014/02;61.0
Total;2014/03;57.0
Total;2014/04;11.0
Total;2014/05;81.0
Total;2014/06;100.0
function processData(csv)
{
    var allTextLines = csv.split(/\r\n|\n/);
    var tarr = [];

    for (var i = 1; i < allTextLines.length; i++) 
    {
        var data = allTextLines[i].split(';');
        tarr.push({ commande: data[0], periode: data[1], jours: parseFloat(data[2]) });
    }

    $('#chartContainer').dxChart('option', 'dataSource', tarr);
}