Highcharts - 显示所有其他x轴类别

时间:2010-09-15 02:21:52

标签: javascript datetime graph charts highcharts

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

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

4 个答案:

答案 0 :(得分:41)

似乎xAxis:labels:step值应该用于实现此目的:

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

Step Axis Labels

超级晚了,但我认为这可以帮助别人。

答案 1 :(得分:5)

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

答案 2 :(得分:4)

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

代码示例:

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

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

您在pointInterval和Start中看到的数字以毫秒为单位,您可以使用getTime()生成这些数字。您的情况间隔为86400000毫秒,即一天。库根据您的数据间隔显示适当的间隔。

答案 3 :(得分:0)

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

我正在使用数组作为队列。 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