即使在将类型指定为区域之后,Highcharts图表也不显示为区域图表

时间:2016-12-29 19:13:41

标签: javascript highcharts

我有一张图表,每秒都会使用来自服务器的数据进行更新,但图表似乎没有显示为区域图表,我将其中的系列类型指定为区域,但它仍然无法显示作为面积图。我注意到如果我在创建图表时初始化系列中的数据(带有一些随机数据)它可以工作,但图表不会准确,因为数据不是来自服务器。

以下是代码:

function createChart(asset, name) {
      chart = new Highcharts.stockChart('chart', {
        chart: {
            events: {
                load: function() {
                  setTimeout(function() {
                    interval = setInterval(function(){
                      requestData(asset, name)
                    }, 1000);
                  }, 1000);
                }
              }
          },
        rangeSelector: {
            buttons: [{
                count: 1,
                type: 'minute',
                text: '1M'
            }],
            inputEnabled: false,
            selected: 0
        },
        navigator: {
          enabled: false
        },
        title: {
            text: name
        },
        xAxis: {
          type: 'datetime',
          tickPixelInterval: 150,
          //tickPixelInterval: 3600
        },
        yAxis: {
            allowDecimals: true,
            title: {
                text: 'Values'
            },
            labels: {
               //format: '{value: .2f}'
            },
            opposite: false,
            plotLines: [{
                value: 0,
                width: 1,
                dashStyle: 'longdashdot',
                color: '#808080'
            }]
        },
        series: [{
            name: 'Price',
            type: 'area',
            color: '#2D2E2F',
            data: []
        }]
      });
  }

function requestData(asset, name) {
    $.ajax({
      url:' process_ajax.php',
      data: {
         action: 'get_asset_data',
         asset: asset
      },
      success: function(res) {
        if (res.success) {
          var series = chart.series[0],
              shift = series.data.length > 20;
         chart.yAxis[0].plotLinesAndBands[0].options.value = res.data.price;
              chart.yAxis[0].setExtremes(res.data.low, res.data.high);
              chart.series[0].addPoint([res.data.time, res.data.price], true, shift);
        }
      },
      cache: false
    });
  }

PS:图表更新正常,但问题是将其显示为区域图表。

编辑:

谢谢,我已经解决了,问题源于我的数据,y轴数据是作为字符串而不是数字接收的,为了解决这个问题,我只是将数据输入数字。

0 个答案:

没有答案