javascript - Highcarts - 让日期时间 xaxis 在某个月份开始
问题描述
我有我的 xaxis 显示我想要的方式,每六个月有一个刻度间隔。我的问题是我试图让标签在三月开始。因此,我希望它显示“三月”和“九月”,而不是 xaxis 显示“一月”和“七月”。没想到这会很难,但似乎无法得到它。
xAxis: {
type: "datetime",
tickInterval: 1000 * 60 * 60 * 24 * 180,
startOnTick: true,
endOnTick: true,
showLastLabel: true,
labels: {
rotation: -45,
format: "{value:%b-%y}"
}
},
解决方案
您将需要tickPositioner
参考 API
...
xAxis: {
type: "datetime",
// tickInterval: 1000 * 60 * 60 * 24 * 180, // Overrided by tickPositioner
startOnTick: true,
endOnTick: true,
showLastLabel: true,
labels: {
rotation: -45,
format: "{value:%b-%y}"
},
tickPositioner: function () {
var positions = [],
tick = Math.floor(this.dataMin),
increment = 1000 * 3600 * 24 * 180; // 6 months
for (tick; tick <= this.dataMax; tick += increment) {
positions.push(tick);
}
if (positions.indexOf(this.dataMax) == -1) positions.push(this.dataMax);
return positions;
}
},
...
推荐阅读
- lttng - 为什么在 TRACEPOINT_EVENT_CLASS 和 TRACEPOINT_EVENT_INSTANCE 中都定义 TP_ARGS?
- python - pandas:使用循环根据列排名选择一定数量的行
- elasticsearch - 如何使用 ReactiveElasticsearchTemplate 检索命中和聚合
- azure - Azure Devops 任务未显示在我的任务模板列表中
- python - Python 脚本在尝试 MariaDB 时会产生 AssertionError
- vb.net - PostgreSQL 数据更改时的更改/通知事件
- c# - node.js 和 c# 之间的 Masstransit 队列生产者/消费者
- node.js - 在 knex.stream 中传递列名
- python - 加载带有标签的 TensorFlow 模型
- android - 如何删除android studio中的导航?