Javascript 如何将xAxis标签格式化为Highcharts中每个值的日期?
我正在尝试创建一个简单的折线图。正如您所看到的,数据的格式是,数组中的第一个值是date(year-month),然后是一个值。如有必要,我可以更改日期的格式,但通常每个月的数据都有一个值,升序一直到当前月份 是否可以格式化图表,以便底部轴具有日期标签(年+月)?下面是我的工作示例的示例,如果需要,下面是示例Javascript 如何将xAxis标签格式化为Highcharts中每个值的日期?,javascript,charts,highcharts,Javascript,Charts,Highcharts,我正在尝试创建一个简单的折线图。正如您所看到的,数据的格式是,数组中的第一个值是date(year-month),然后是一个值。如有必要,我可以更改日期的格式,但通常每个月的数据都有一个值,升序一直到当前月份 是否可以格式化图表,以便底部轴具有日期标签(年+月)?下面是我的工作示例的示例,如果需要,下面是示例 Highcharts.chart("container", { series: [ { data: [ ["2018-10", 18],
Highcharts.chart("container", {
series: [
{
data: [
["2018-10", 18],
["2018-11", 16],
["2018-12", 21],
["2019-01", 22],
["2019-02", 22],
["2019-03", 20],
["2019-04", 22],
["2019-05", 24],
["2019-06", 25],
["2019-07", 31],
["2019-08", 35],
["2019-09", 33],
["2019-10", 35],
["2019-11", 35],
["2019-12", 35]
]
}
]
});
这就是我的目标
如果我能在另一个图书馆更容易地做到这一点,我愿意接受建议。我成功地做到了这一点
Highcharts.chart("container", {
xAxis: {
type: 'datetime',
labels: {
formatter() {
// get data from series, "this.value" is a key for each array
var currentData = this.chart.userOptions.series[0].data[this.value];
// split "2018-10" into array and return each on new line
var currentData = currentData[0].split('-');
return currentData[1] + '<br>' + currentData[0];
}
}
},
series: [
{
data: [
["2018-10", 18],
["2018-11", 16],
["2018-12", 21],
["2019-01", 22],
["2019-02", 22],
["2019-03", 20],
["2019-04", 22],
["2019-05", 24],
["2019-06", 25],
["2019-07", 31],
["2019-08", 35],
["2019-09", 33],
["2019-10", 35],
["2019-11", 35],
["2019-12", 35]
]
}
]
});
Highcharts.chart(“容器”{
xAxis:{
键入:“日期时间”,
标签:{
格式化程序(){
//从系列中获取数据,“this.value”是每个数组的键
var currentData=this.chart.userOptions.series[0]。数据[this.value];
//将“2018-10”拆分为数组,并在新行中返回每个数组
var currentData=currentData[0]。拆分('-');
返回currentData[1]+'
'+currentData[0];
}
}
},
系列:[
{
数据:[
["2018-10", 18],
["2018-11", 16],
["2018-12", 21],
["2019-01", 22],
["2019-02", 22],
["2019-03", 20],
["2019-04", 22],
["2019-05", 24],
["2019-06", 25],
["2019-07", 31],
["2019-08", 35],
["2019-09", 33],
["2019-10", 35],
["2019-11", 35],
["2019-12", 35]
]
}
]
});
您可以这样做,使用type category将给出系列的xaxis
xAxis: {
type: 'category',
labels: {
formatter: function () {
var str = this.value.split('-');
return str[1]+'<br>'+ str[0];
}
}
},
xAxis:{
类型:'类别',
标签:{
格式化程序:函数(){
var str=this.value.split('-');
返回str[1]+'
'+str[0];
}
}
},
有一种方法可以实现自定义代码,这取决于您的数据,如果您的数据是动态的或静态的,您可以为xAxis使用自定义类别