19

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

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

4

4 回答 4

45

似乎应该使用 xAxis:labels:step 值来完成此操作:

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

步进轴标签

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

于 2013-01-24T21:32:47.870 回答
5
    xAxis: {
        categories: categoriesname,
        labels: {
            style: {
                color: '#000',
                font: '9px Trebuchet MS, Verdana, sans-serif'
            }
        },
        **tickInterval: TickInterval,**// SET THIS
        tickPixelInterval: 80,
        tickmarkPlacement: 'on'
    },
于 2011-10-28T12:17:40.330 回答
4

您可以将 xAxis 类型设置为“日期时间”,然后在 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 毫秒,即一天。库会根据您的数据间隔显示适当的间隔。

于 2010-09-21T16:44:45.063 回答
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

于 2011-04-22T10:12:20.647 回答