【问题标题】:Highcharts data csv loadHighcharts 数据 csv 加载
【发布时间】:2015-11-01 17:53:55
【问题描述】:

我无法从我的 csv 文件中显示图表。它没有绘制图表。也许我的解析器是问题所在。 firebug 说没有重大错误,但我被卡住了,我不知道如何让它工作。请帮忙..

这就是我的 csv 的样子:

1437931522,30

1437931555,30.25

1437931768,30.25

1437931785,29.75

1437931802,30.25

1437932702,30.5

1437933601,29.75

1437933974,30

文件结尾是\n,但这里似乎没有显示,所以我插入了额外的输入

这是代码:

    $(document).ready(function() {

Highcharts.setOptions({
    global: {
      useUTC: true
    }
  });
  var mydata = [];
  var times = [];
$.get('data.csv', function(data) {
    // Split the lines
    var lines = data.split('\n');
    // Iterate over the lines and add categories or series

    $.each(lines, function(lineNo, line) {
        var items = line.split(',');
        if(lineNo=>0)
        {
            times.push(new Date(items[0]*1000).toUTCString());
            mydata.push(items[1])
        }

    });
});

$('#container').highcharts({
    title: {
      text: 'Temperature',
      x: -20 //center
    },
    subtitle: {
      text: 'test1',
      x: -20
    },
    xAxis: {
      type: 'datetime',
        dateTimeLabelFormats: {
        month: '%b %e, %Y',
        year: '%Y'
      },
      categories: times
    },
    yAxis: {
      title: {
        text: 'Temperature (°C)'
      },
      plotLines: [{
        value: 0,
        width: 1,
        color: '#808080'
      }]
    },
    tooltip: {
      valueSuffix: '°C'
    },
    legend: {
      layout: 'vertical',
      align: 'right',
      verticalAlign: 'middle',
      borderWidth: 0
    },
    series: [{
      name: 'Temp',
      data: mydata

    }]
  });
});``

是否可以,如果 'data.csv' 位于同一目录中,则仅使用 'data.csv' 获取 csv 或者我必须设置整个 url?

这是我的小提琴: http://jsfiddle.net/skoky2/yw25z6ow/1/

【问题讨论】:

    标签: javascript csv charts highcharts


    【解决方案1】:

    您应该在主模块中使用以下代码

            data: {
                csv: csv
            },
    

    参考:data-module

    【讨论】:

      【解决方案2】:

      1) 如果您使用 xAxis 的日期时间类型,则不应使用类别。你可以定义tickPositions

      2) 点值应该是数字而不是字符串,所以替换:

       mydata.push(items[1])
      

       mydata.push(parseFloat(items[1]))
      

      【讨论】:

        【解决方案3】:

        我设法让它工作。但我注意到此图表仅适用于 IE 8,不适用于 firefox 或 chrome。带有ie标签的firefox也可以工作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多