0

我正在使用 highcharts 显示超过一个月的数据,因此它可以显示从 1 个数据点到 31 个数据点的任何位置(我正在使用 jQuery Datepicker 小部件来选择日期)。我的问题是x轴。当查看 2 到 7 个数据点时,x 轴会自动尝试调整自身,这可以正常工作,渲染的数据点越多,但是如果前面提到的数据点较少,就会出现问题。

我已经捕获了一些显示我的困境的屏幕截图,并创建了一个 JSFiddle。我确实有一个特定的尺寸需要适合图表,并且我在 JSfiddle 中使用了相同的尺寸。

理想情况下,我希望 x 轴从本月的第一天开始(或者至少不是在上个月的月底开始)并避免重叠问题。我希望这是一个我忽略的设置,它控制 highcharts 如何“自动”计算 x 轴上显示的内容及其间隔。我知道有一个滴答间隔设置,但在我的情况下我没有任何运气。

图片:http: //i.imgur.com/p0bQg6U.png

JSFiddle:http: //jsfiddle.net/engemasa/sgKcB/

这是highcharts代码:

 $('.chart').highcharts({
    chart: {
        type: 'column'
    },
    xAxis: {
        labels: {
            enabled: true,
            formatter: function() {
                return Highcharts.dateFormat("%b %e, '%y", this.value);
            }
        }
    },
    title: {
        text: null
    },
    tooltip: {
        formatter: function() {
            var date = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y', this.x) + '</b><br />';
            return date + this.y;
        }
    },
    yAxis: {
        labels: {
            enabled: true
        }
    },
    credits: {
        enabled: false
    }
});

非常感谢您的帮助!

4

2 回答 2

1

解决方案似乎是datetimexAxis 和dateTimeLabelFormatsHighcharts 的选项。例如:http: //jsfiddle.net/sgKcB/26

    xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
            day: "%b %e, '%y",
            week: "%b %e, '%y"
        }
    },
于 2013-11-08T18:39:06.757 回答
0

您可以使用 tickPositioner 参数,它允许您自己的功能。您可以计算并返回正确的报价顺序。

http://api.highcharts.com/highstock#xAxis.tickPositioner

于 2013-11-08T01:14:24.630 回答