我设置了 Highcharts 以显示带有一堆 xAxis 类别的图表。这一切都工作正常,但我希望能够跳过一些 xAxis 类别,因此不会显示所有内容。您可以在 Campaign Monitor 的报告部分中看到此操作的示例(屏幕截图: http://screencast.com/t/Y2FjNzQ4Y).

知道如何实现相同的布局吗?

有帮助吗?

解决方案

您可以将 xAxis 类型设置为“datetime”,然后在绘图选项中设置 pointInterval 和 PointStart。

代码示例:

var chart;
$(document).ready(function () {
    chart = new Highcharts.Chart({
        "xAxis": {
            "type": "datetime"

        "plotOptions": {
            "line": {
                "pointInterval": 86400000,
                "pointStart": 1282408923000
            }
        },
    });
});

您看到的 pointInterval 和 Start 的数字以毫秒为单位,您可以使用它们生成 获取时间() 在您的情况下,间隔为 86400000ms,即一天。该库根据您的数据间隔显示适当的间隔。

其他提示

似乎Xaxis:标签:步骤值应该用来完成此操作:

        xAxis: {
            categories: ['JAN', 'FEB', 'MAR', 'APR', 'MAY'],
            labels:{
                step: 2 // this will show every second label
            }
        },

步轴标签

超级迟到,但我认为这可以帮助某人。

    xAxis: {
        categories: categoriesname,
        labels: {
            style: {
                color: '#000',
                font: '9px Trebuchet MS, Verdana, sans-serif'
            }
        },
        **tickInterval: TickInterval,**// SET THIS
        tickPixelInterval: 80,
        tickmarkPlacement: 'on'
    },

这是我的丑陋解决方案:)

我正在使用数组作为队列。 http://javascript.about.com/library/blqueue.htm如果将点数据填充到队列,则可以为图表系列设置数据。

var myQueue = new Array();
var myPoint = [x, y];                                       myQueue.push(myPoint);
chart.series[0].setData(myQueue);

my X axis is not a datetime, it's an integer
first 
var x = 0;

当您需要一个新点时,X值应始终增加。http://dl.dropbox.com/u/3482121/picture/highcharts/pm/screenshot.png

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top