我有一个问题,我不想在12月31日而不是1月1日开始使用x轴。我尝试设置x轴min并使用dateTimeLabelFormats,但似乎没有任何改变滴答开始的日期。
xAxis: {
type: 'datetime',
labels: {
rotation: 300,
//formatter: function () {
//return this.value;
//}
},
dateTimeLabelFormats: {
year: '%m/%d/%Y'
},
//minTickInterval: 365 * 24 * 3600 * 1000,
min: Date.UTC(2004, 11, 31)
},
我将代码放在jsFiddle。
中答案 0 :(得分:2)
最好的方法是使用tickPositioner
,例如:http://jsfiddle.net/t3nr0kgt/2/
tickPositioner: function (min, max) {
var axis = this,
options = axis.options,
// get normalized tick interval
normalizedTickInterval = axis.normalizeTimeTickInterval(
axis.tickInterval,
options.units
),
// get default ticks
ticks = axis.getTimeTicks(
normalizedTickInterval,
min,
max,
options.startOfWeek,
axis.ordinalPositions,
axis.closestPointRange,
true
);
// register information for label formatter
ticks.info = {
higherRanks: normalizedTickInterval.higherRanks,
unitName: normalizedTickInterval.unitName
};
// replace first label with 2004 year.
// When labels overlap, remove for example first two elements (1 change to 2):
ticks.splice(0, 1, min);
return ticks;
}
如您所见,这不会阻止标签重叠,因此请谨慎使用。
另一个解决方案是像您一样设置min
选项,但使用startOnTick
选项。但这会产生一些差距:http://jsfiddle.net/t3nr0kgt/5/