#echarts
#echarts
Вопрос:
Здравствуйте, я пытаюсь создать диаграмму линейного типа. С осью даты в формате одного месяца за несколько лет. Например, июль 2000, июль 2001, июль 2002 и т. Д.
У меня есть массив данных с парой [дата, значение]. Итак, с примером, который он дает
{
series: [{
type: 'line',
smooth: true,
data: [
[ {value: ['2000-07-01', 5884] } ],
[ {value: ['2001-07-01', 568] } ],
[ {value: ['2002-07-01', 5845884] } ]
]
}, {
type: 'line',
smooth: true,
data: [
[ {value: ['2000-07-01', 458] } ],
[ {value: ['2001-07-01', 5468] } ],
[ {value: ['2002-07-01', 588484] } ]
]
}]
}
и я определил по оси x
{
xAxis: {
type: 'time',
axisLabel: {
formatter: (function(value){
return moment(value).format('MMM YYYY');
})
},
},
}
Но по оси x я получаю [август 2000, сентябрь 2001, октябрь 2002]
Как я могу получить запрошенный результат? Должен ли я переформатировать свою серию и поместить даты в метку оси x? спасибо за помощь.
Ответ №1:
Требуемый результат может быть получен с использованием оси категорий, если вы можете предоставить данные за все месяцы без пробелов.
xAxis.axisLabel.interval
свойство позволяет управлять интервалом между отображаемыми метками.
Обратитесь к конфигурации диаграммы ниже,
option = {
xAxis: {
type: 'category',
axisLabel: {
formatter: (function(value){
//return mement(value).format('MMM YYYY');
return echarts.format.formatTime("MM-yyyy", value);
}),
interval: 0
},
},
yAxis: {
type: 'value',
},
series: [{
type: 'line',
smooth: true,
data: [
['2000-07-01', 5884],
['2001-07-01', 568],
['2002-07-01', 5845884]
]
}, {
type: 'line',
smooth: true,
data: [
['2000-07-01', 458],
['2001-07-01', 5468],
['2002-07-01', 588484]
]
}]
};