highstock图表仅设置xAxis的最大值

时间:2014-07-01 17:57:49

标签: javascript jquery highcharts highstock

我想只设置xAxis的最大值。我从会话值中获取此值。 我想显示stockchart。选定的xAxis范围(来自会话值)并且不会更改。如何将max xAxis值链接到rangeSelectorButton和输入范围选择器或导航器。单击范围按钮或输入范围或导航器,xAxis的最大值不会更改。

如果我使用以下代码,我必须发送最小值和最大值的值。

$('#container').highcharts('StockChart', {

  title: {
    text: 'AAPL Stock Price'
  },
  xAxis: {
    events: {
      SetExtremes: function (e) {
        if (e.trigger == "rangeSelectorButton") {
          setTimeout(function () {
            var end = 1293091200000;
            Highcharts.charts[0].xAxis[0].setExtremes(1198681756385, end)
          }, 1);

        }
      },
    }
  },
  series: [{
    name: 'AAPL',
    data: data,
    tooltip: {
      valueDecimals: 2
    }
  }]
});

我怎样才能设置最大值? 我想要这个的原因,因为我从会话值得到一个日期,然后我可以选择不同的按钮范围选择器来显示过去一周或过去1个月或过去3个月的图表。

2 个答案:

答案 0 :(得分:0)

如果您想在不更改最小极限的情况下设置极限的最大值(导航器上的选定范围),您可以先检索当前极值并设置相同的值:

// Assume the chart instance is stored in variable 'chart'
var extremes = chart.xAxis[0].getExtremes();
chart.xAxis[0].setExtremes(extremes.min, yourMaxValue);

答案 1 :(得分:0)

首先是setExtremes,而不是SetExtremes

第二件事,在setExtremes回调中调用setExtremes会产生无限循环。

我建议您从Highcharts中停用rangeSelector,生成自己的HTML按钮,然后添加点击事件,您可以在其中调用chart.xAxis[0].setExtremes(previous_min, your_max_value);