javascript - Highcharts : exact distance between ticks

标签 javascript jquery highcharts

如何使用 Highchart 找出 x 轴上两个刻度之间的精确距离或设置精确距离(到像素)?

我使用了tickPixelInterval,它似乎没有设置轴上两个刻度之间的精确距离。

引用代码:http://jsfiddle.net/e0qxfLtt/21/

$(function drawCharts() {
  var chartData = [100, 120, 120, 140, 110, 110];
  var index = 1;
  $('#b').click(function() {
    var buttonB = document.getElementById('b');
    buttonB.disabled = true;
    if (index < chartData.length) {
      var x = index, // current time
        y = chartData[index];
      $('#container').highcharts().series[0].setData([chartData[index - 1]]);
      $('#container').highcharts().series[0].addPoint([chartData[index]]);

      setTimeout(function() {
        if (index === 1) {
          $('#container1').highcharts().series[0].addPoint([0, chartData[0]]);
        }
        $('#container1').highcharts().series[0].addPoint([x, y]);
        index++;
      }, 2000);
    }
    setTimeout(function() {
      buttonB.disabled = false;
    }, 3000);

  })
  $(document).ready(function() {
    var chart1 = new Highcharts.Chart({
      chart: {
        renderTo: 'container1',
        type: 'line',
        animation: Highcharts.svg, // don't animate in old IE
        marginRight: 10,
        events: {
          load: function() {
            series = this.series[0];
          },
        }
      },
      title: {
        text: ''
      },
      xAxis: {
        title: {
          text: ''
        },
        gridLineWidth: 1,
        startOnTick: true,
        tickPixelInterval: 40,
        min: 0,
        max: 10
      },
      yAxis: {
        title: {
          text: ''
        },
        min: 0,
        max: 200
      },
      plotOptions: {
        line: {
          marker: {
            enabled: false
          }
        },
        series: {
          animation: {
            duration: 1000
          }
        }
      },
      tooltip: {
        formatter: function() {
          return Highcharts.numberFormat(this.y, 2) + 'GE';
        }
      },
      legend: {
        enabled: false
      },
      exporting: {
        enabled: false
      },
      credits: {
        enabled: false
      },
      series: [{
        name: '',
        data: []
      }]
    });
    var chart2 = new Highcharts.Chart({
      chart: {
        renderTo: 'container',
        type: 'line',
        animation: Highcharts.svg ? {
          duration: 2000
        } : false, // don't animate in old IE                marginRight: 10,
        events: {
          load: function() {
            series = this.series[0];
          },
        }
      },
      title: {
        text: ''
      },
      xAxis: {
        title: {
          text: ''
        },
        gridLineWidth: 1,
        startOnTick: true,
        tickPixelInterval: 80,
        categories: ['a', 'b'],
        min: 0,
        max: 1
      },
      yAxis: {
        title: {
          text: ''
        },
        min: 0,
        max: 200
      },
      plotOptions: {
        line: {
          marker: {
            enabled: false
          }
        },
        series: {
          animation: {
            duration: 2000
          }
        }
      },
      tooltip: {
        formatter: function() {
          return Highcharts.numberFormat(this.y, 2);
        }
      },
      legend: {
        enabled: false
      },
      exporting: {
        enabled: false
      },
      credits: {
        enabled: false
      },
      series: [{
        name: '',
        data: []
      }]
    });
  });
});

最佳答案

如果您控制图表的宽度,并使用边距设置控制绘图区域的宽度,并且您知道每个图表中将有多少个刻度,那么这是一件简单的事情。

所以,图表 1:

width: 200,
margin: [10,25,50,75]

两个插槽,每个 50 像素宽

图表2:

width: 600,
margin: [10,25,50,75]

10 个槽,每个槽 50 像素宽。

更新了 fiddle :

输出:

screenshot

关于javascript - Highcharts : exact distance between ticks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38898218/

相关文章:

javascript - ionic : get ionicScroll onScroll event

当我单击悬停菜单时,jquery 向上滑动功能不起作用

jquery - 谷歌建议的城市名称自动完成

javascript - 如何将PowerPoint图表转换为网络使用?

javascript - 使用 moment 获取日期和当前日期之间的时间差

javascript - 转到链接与 jquery animate

javascript - Highcharts - Xaxis 应仅显示天和月,隐藏毫秒

javascript - Canvas 中的图像 ID

javascript - 如何更改 Highcharts 中条形的宽度?

javascript - 在 Highcharts 维恩图中隐藏名称