我设置了 Highcharts 来显示带有一堆 xAxis 类别的图表。这一切都很好,但我希望能够跳过一些 xAxis 类别,因此不会显示所有内容。您可以在 Campaign Monitor 的报告部分(屏幕截图: http ://screencast.com/t/Y2FjNzQ4Y )中看到此工作的示例。
知道如何实现相同的布局吗?
我设置了 Highcharts 来显示带有一堆 xAxis 类别的图表。这一切都很好,但我希望能够跳过一些 xAxis 类别,因此不会显示所有内容。您可以在 Campaign Monitor 的报告部分(屏幕截图: http ://screencast.com/t/Y2FjNzQ4Y )中看到此工作的示例。
知道如何实现相同的布局吗?
似乎应该使用 xAxis:labels:step 值来完成此操作:
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'
},
您可以将 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 毫秒,即一天。库会根据您的数据间隔显示适当的间隔。
这是我丑陋的解决方案:)
我使用数组作为队列。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