Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.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 防止面积图Y轴从零开始_Javascript_Highcharts_Highstock - Fatal编程技术网

Javascript 防止面积图Y轴从零开始

Javascript 防止面积图Y轴从零开始,javascript,highcharts,highstock,Javascript,Highcharts,Highstock,Y轴不以零开始,而是以接近HighCharts/HighStock中最低Y轴数据点的值开始的配置是什么 下面是图表的演示,其中Y轴数据值非常大,而最小Y轴绘图点为零: 以及演示中使用的示例配置: { series: [{ type: 'area', data: [ [1375660800000, 106861], [1375747200000, 107397], [1375833600000, 108674], [1375920

Y轴不以零开始,而是以接近HighCharts/HighStock中最低Y轴数据点的值开始的配置是什么

下面是图表的演示,其中Y轴数据值非常大,而最小Y轴绘图点为零:

以及演示中使用的示例配置:

{
  series: [{
    type: 'area',
    data: [
      [1375660800000, 106861],
      [1375747200000, 107397],
      [1375833600000, 108674],
      [1375920000000, 108792],
      [1376006400000, 110504],
      [1376265600000, 110658],
      [1376352000000, 110792]
    ]
  }],
}

这里的问题是,您使用的是“区域”类型,根据定义,它需要显示从0到点的区域。如果您切换到“样条线”,它会自动执行您想要的操作

$(function () {
$('#container').highcharts('StockChart', {
  series: [{
    type: 'spline',
    data: [[1375660800000, 106861],[1375747200000, 107397],[1375833600000, 108674],[1375920000000, 108792],[1376006400000, 110504],[1376265600000, 110658],[1376352000000, 110792],[1376438400000, 111095],[1376524800000, 112334],[1376611200000, 112775],[1376870400000, 113051],[1376956800000, 113426],[1377043200000, 113516]]
  }],
});
}))

更新:

如果您想继续使用面积图(所以您已经在下面填充了面积),我建议您在yAxis上使用min。我在这里更改了你的代码

$(function () {
    $('#container').highcharts('StockChart', {
      series: [{
        type: 'area',
        data: [[1375660800000, 106861],[1375747200000, 107397],[1375833600000, 108674],[1375920000000, 108792],[1376006400000, 110504],[1376265600000, 110658],[1376352000000, 110792],[1376438400000, 111095],[1376524800000, 112334],[1376611200000, 112775],[1376870400000, 113051],[1376956800000, 113426],[1377043200000, 113516]]
      }],
        yAxis:{
         min: 105000
        }
    });
});

当您从服务器获取数据并计算最小值点时,可以提前计算最小值。希望这有帮助。

根据@Vadim的回答,从今天起,我建议计算
yAxis.min
配置本身内的最低Y轴值,以保持代码一致性和可移植性。唯一的要求是将数据提取到图表初始化之外的变量中

对于格式为
的数据,
以下内容将起作用:

var data = [
  [1375660800000, 106861],
  [1375747200000, 107397],
  [1375833600000, 108674]
];

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

  series: [{
    type: 'area',
    data: data
  }],

  yAxis: {
    min: (function() {
      var min = data[0][1];
      for (var i = 0; i < data.length; i++) {
        var value = data[i][1];
        if (value < min) {
          min = value;  
        }
      }
      return min;
    })()
  }

});
var数据=[
[1375660800000, 106861],
[1375747200000, 107397],
[1375833600000, 108674]
];
$(“#容器”).highcharts('StockChart'{
系列:[{
类型:'区域',
数据:数据
}],
亚克斯:{
min:(函数(){
var min=数据[0][1];
对于(变量i=0;i

现场演示:

谢谢。但是,您的示例线下没有填充区域。有可能解决这个问题吗?我希望Highcharts有一个配置选项可以自动完成。现在我将按照您的建议设置yAxis.min。非常感谢。