gpt4 book ai didi

highcharts - 在 Highcharts 中仅显示第一个和最后一个 xAxis 标签

转载 作者:行者123 更新时间:2023-12-05 02:08:51 26 4
gpt4 key购买 nike

我只想在 xAxis 上显示第一个和最后一个标签。这将为用户提供足够的 »frame«。但是,我没有成功。我正在使用同步图表,可以找到here .是(较小的)图表的第二和第三“列”,我的目标是。

我尝试使用 »startOnTick« 和 »endOnTick«,但没有用。

    xAxis: {
crosshair: true,
events: {
setExtremes: syncExtremes
},
visible: i === 1,
showFirstlabel: true,
showLastlabel: true,
startOnTick: true,
endOnTick: true,
labels: {
step: 500,
format: '{value}'
}
},

强制 Highcharts 只显示第一个和最后一个标签的正确方法是什么?

Here是一个 fiddle (不知道为什么没有出现该行;它显示了鼠标悬停的值...)。

感谢任何提示。

最佳答案

  • 您可以使用 xAxis.labels.formatter 回调来显示所需的刻度:

演示:https://jsfiddle.net/BlackLabel/m2Ln8sdg/

    xAxis: {
tickAmount: 10,
labels: {
formatter() {
if(this.isFirst || this.isLast) {
return this.value
} else {
return ''
}
}
}
},

API:https://api.highcharts.com/highcharts/xAxis.labels.formatter

  • 如果您想对其进行更多控制(如隐藏标签和刻度),您可以使用load 回调方法和适当的逻辑来隐藏/显示刻度:

演示:https://jsfiddle.net/BlackLabel/fbcdskmv/

  chart: {
events: {
load() {
let chart = this;

for (let i in chart.xAxis[0].ticks) {
//hide all
chart.xAxis[0].ticks[i].label.hide()
chart.xAxis[0].ticks[i].mark.hide()
// show first and last tick
if (chart.xAxis[0].ticks[i].isFirst || chart.xAxis[0].ticks[i].isLast) {
chart.xAxis[0].ticks[i].mark.show()
chart.xAxis[0].ticks[i].label.show()
}
}
}
}

API:https://api.highcharts.com/highcharts/chart.events.load

关于highcharts - 在 Highcharts 中仅显示第一个和最后一个 xAxis 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60487429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com