Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript highstock图表仅设置xAxis的最大值_Javascript_Jquery_Highcharts_Highstock - Fatal编程技术网

Javascript highstock图表仅设置xAxis的最大值

Javascript highstock图表仅设置xAxis的最大值,javascript,jquery,highcharts,highstock,Javascript,Jquery,Highcharts,Highstock,我只想设置xAxis的最大值。我从会话值中获取此值。 我想显示股票图表。xAxis的选定范围已设置(从会话值开始),且未更改。如何将最大xAxis值链接到rangeSelectorButton和输入范围选择器或和导航器。单击范围按钮或输入范围或导航器,xAxis的最大值不变 如果我使用以下代码,我必须发送最小值和最大值的值 $('#container').highcharts('StockChart', { title: { text: 'AAPL Stock Price' }

我只想设置xAxis的最大值。我从会话值中获取此值。 我想显示股票图表。xAxis的选定范围已设置(从会话值开始),且未更改。如何将最大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
    }
  }]
});
如何仅设置最大值?
之所以要这样做,是因为我从会话值中获得了一个日期,然后我可以选择不同的按钮范围选择器来显示过去一周、过去一个月或过去三个月的图表。

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

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

首先,
setExtremes
,而不是
setExtremes

其次,在
setextrems
回调中调用
setextrems
会产生无限循环


我建议从Highcharts中禁用
rangeSelector
,生成自己的HTML按钮,并添加click事件,在其中调用
chart.xAxis[0].setextrems(上一个最小值,最大值)

您说过要设置轴的最大值,但代码试图设置x轴的最大极限(导航器上选定的范围)。你到底想要哪一个?我只想设置x轴的最大极限(导航器或“范围”按钮上的选定范围)。不更改最小极限?是的,不要设置最小极限。设置最大值是为了使用不同的范围按钮,它可以将时间范围设置为过去一周、过去一个月或过去半年。嗨,我尝试了你的方法。这是你的电话号码。问题是,当我选择1个月、3个月、6个月时,它无法计算正确的开始日期。当我选择YTD时,它可以给出正确的开始日期为1月1日。但如果我在选择YTD后选择1个月按钮,网页将不得不重新加载。@programbegin抱歉,我对您的代码感到困惑。你能描述一下你想做什么吗?看起来您希望最大值是固定的,但同时也不希望最小值发生更改。然后,当用户单击范围选择器按钮时会发生什么情况,比如说,
1m
?我希望最大值是固定的,最小值随所选范围按钮的不同而变化。如果最大值为2012-5-20。然后选择1m,它将显示从2012-4-20到2012-5的图表-20@programbegin那么这个图表在我看来很好,没有添加任何代码。唯一的问题是按钮
YTD
All
,但它们很容易被删除。看看这个。这就是你想要的吗?开始时间不对。现在的最大值是2012-12-03,我选择1个月,然后显示开始时间是2012-11-02。应该是2012年11月3日。此外,它还显示2012-11-05的图表。如何设置输入范围的极端值,因此它可以选择不同的开始时间,但结束时间是固定的。谢谢你是说内置的高库存吗?它们始终处于启用或禁用状态。不能直接禁用其中一个的编辑。只不过是一些老套的方式。我想,生成您自己的输入会更快,并给您更多的控制。生成您自己的输入意味着将输入作为起始时间传递到图表?老实说,我不知道您在说什么:)我问您-您是指内置输入吗?如下所示:如果将INPUNEABLE设置为false,则两个输入范围框都不会显示。