У меня есть два набора данных, которые я хочу отобразить на холсте eCharts в виде двух отдельных линейных диаграмм:
- квартальный график выручки и
- дневной график цены акций.
Используя приведенный ниже код, отображаются обе линейные диаграммы, но поскольку наборы данных имеют разную длину массива, линейный график выручки втискивается в левую часть холста, а график цены акций отображается правильно во всю ширину. , Кроме того, оси X не выровнены друг с другом, потому что диапазоны дат не полностью перекрываются (квартальные данные начинаются раньше, чем данные о ценах, см. Пример ниже).
Первый длинный набор данных, содержащий ежедневно цены акций, выглядит следующим образом:
var dailyStockprices = [123,124,125, ... etc] // array length 600
var dailyDates = ["2019-01-02","2019-01-03","2019-01-04", ... etc] // array length 600
Второй, очень короткий набор данных, содержащий квартальные доходы, выглядит следующим образом:
var quarterlyRevenues = [123,124,125, ... etc] // array length 20
var quarterlyDates = ["2018-09-30","2018-12-31","2019-03-31", ... etc] // array length 20
Код eCharts выглядит следующим образом:
var myChart = echarts.init(document.getElementById('mainchart1'));
option = {
xAxis: [{
type: 'category',
data: dailyDates
}, {
type: 'category',
data: quarterlyDates
}],
yAxis: [{
type: 'value'
}, {
type: 'value'
}],
series: [{
data: dailyStockprices,
type: 'line',
yAxisIndex: 0
}, {
data: quarterlyRevenues,
type: 'line',
yAxisIndex: 1
}]
};
myChart.setOption(option);
Вот упрощенный пример JSFiddle: https://jsfiddle.net/frankmarks/szm1f20j/9/
Как сделать так, чтобы обе линейные диаграммы отображались правильно, то есть на полную ширину, на одном и том же холсте с выравниванием обеих осей X?