如何在x轴上具有大范围时水平滚动高级图表

时间:2013-05-23 05:12:14

标签: highcharts

我正在动态生成x轴和y轴数据并显示高图,但是当x轴范围较大且间隔较小时,图表会变得混乱。

如何制作高级图表以制作普通的水平可滚动图形?

以下是我现在正在使用的内容:

enter image description here

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

//CODE FOR HIGHCHARTS JS
function makeChart() {
    $('#container').highcharts({
        chart: {
            type: 'line',
            marginRight: 130,
            marginBottom: 100
        },
        title: {
            text: 'Banana',
            x: -20 //center
        },
        subtitle: {
            text: 'Source: banana.com',
            x: -20
        },
        xAxis: {
            categories: xlist
        },
        yAxis: {
            title: {
                text: 'No. of C'
            },
            plotLines: [{
                value: 0,
                width: 1,
                color: '#808080'
            }]
        },
        tooltip: {
            valueSuffix: 'C'
        },
        legend: {
            layout: 'vertical',
            align: 'right',
            verticalAlign: 'top',
            x: -10,
            y: 100,
            borderWidth: 0
        },
        series: [{
            name: $("#repoSelector option:selected").text(),
            data: ylist
        }]
    });
}

4 个答案:

答案 0 :(得分:18)

实现滚动条的两种方法。

选项1

您需要使用 highstock.js ,而不是呈现股票图表,您必须呈现 高图 即可。

然后启用滚动条

  scrollbar: {
        enabled: true
    }

检查API以查看滚动条和相关操作here

Here我摆弄了一个例子。

选项2

尝试设置min&amp; max的{​​{1}}属性。

x-axis

一次在x轴上显示10个类别,为其余类别添加滚动。 找到摆弄的例子here

答案 1 :(得分:2)

要在x轴上启用滚动条,请尝试此

xAxis: {
  categories: xlist,
  min: 0,
  max: 4,
  scrollbar: {
        enabled: true
  },
  },

点击此处的jfiddle:https://jsfiddle.net/BhavyaAprajita/zja90wf2/1/

另外,请确保导入highstock库

src="https://code.highcharts.com/stock/highstock.js"

答案 2 :(得分:1)

添加此

const Highcharts = require('highcharts/highstock');

如果有的话请评论

// import Highcharts from 'highcharts';

将xAxis更改为这样

xAxis : {
               categories: [],
                min:0,
                max:9,
                scrollbar: {
                    enabled: true
                }
            }

答案 3 :(得分:0)

使用

require('highcharts/highmaps') instead of require('highcharts') in imports<br>
@NgModule({<br>
    ...<br>
   imports: [<br>
    BrowserModule, <br>
     ChartModule.forRoot( <br>
      require('highcharts/highmaps')<br>
      ],<br>
})