Highstock highcharts不规则数据得到错误的X规模(Highstock highch

2019-07-03 22:21发布

我有不规则的数据。 图绘制以及当我使用highcharts:

$(function() {
  var chart = new Highcharts.Chart({
    chart: {
      renderTo: 'chart'
  },
  xAxis: {
    type: 'datetime'
  },
  series: [{
    name: 'Volume',
    data: chart_arr,
  }]
});
});

http://jsfiddle.net/KnTaw/9/

但是,我有大量的数据,所以我需要放大的日期,然后选择highstock。 然后,一个奇怪的事情发生了:x轴成为非线性的。

$(function() {
  var chart2 = new Highcharts.StockChart({
    chart: {
      renderTo: 'chart2'
    },
    rangeSelector: {
      selected: 0
    },
    xAxis: {
      type: 'datetime'
    },
    series: [{
      name: 'val',
      data: chart_arr,
      type : 'area',
    }]
  });
});

http://jsfiddle.net/Mc3mW/1/

请注意,半小时范围内20年1月6日的数据:00-20:30超过2天1月11日至13日分配更多的空间。 (当然,数据是相同的。)

我如何可以强制x轴在highstock变成直线? 或者我如何可以启用highcharts底部缩放工具? 谢谢。

Answer 1:

您需要设定xAxis.ordinal属性为false ,这是true默认。 True值表示点应被放置在固定的时间间隔WRT 空间(像素),False的变化点被放置在固定的间隔时间 WRT

xAxis: {       
    ordinal: false
}

线性x轴| Highstock @的jsfiddle



Answer 2:

它可以放大使用HighCharts JavaScript库图表。 你应该设置的属性是zoomType

决定在什么dimentions用户可以通过拖动鼠标放大。 可能是x的一个,y或XY。 默认为“”。

在这里你可以看到一个〔实施例这里 。 为了放大一个特定的地方,按住鼠标左键,然后选择要放大的区域。

HTML代码:

<div id="container" style="height: 400px"></div>​

JavaScript代码:

$(function () {
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'line',
            zoomType: 'x'
        },
        
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        
        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
        }]
    });
});​

另外,“重置缩放”按钮会自动对缩放事件显示,并可以很容易地图表的操纵什么部位压时,它会显示。

总之,以获取更多信息和缩放设置,事件,应该参考“Highcharts选项参考”按钮的例子在这里 。 只需在搜索中输入“缩放”。

至于你的其他问题:“如何使StockChart线性”根据HighStock API图表的默认类型是线性的。 这里发生的一切由您在一系列属性已设置的区域的选择造成的。 只要删除这样的,你会得到你的线性图表:

$(function() {
  var chart2 = new Highcharts.StockChart({
    chart: {
      renderTo: 'chart2'
    },
    rangeSelector: {
      selected: 0
    },
    xAxis: {
      type: 'datetime'
    },
    series: [{
      name: 'val',
      data: chart_arr
    }]
  });
});


文章来源: Highstock highcharts irregular data gets wrong x-scale