Я реализовал график eCharts. Посмотрите эту скрипку:
https://jsfiddle.net/qgf4c2jy/3/
option = {
title: {
text: 'Basic Graph'
},
tooltip: {},
animationDurationUpdate: 1500,
animationEasingUpdate: 'quinticInOut',
series: [
{
type: 'graph',
layout: 'none',
symbolSize: 50,
roam: true,
label: {
show: true
},
edgeSymbol: ['circle', 'arrow'],
edgeSymbolSize: [4, 10],
edgeLabel: {
fontSize: 20
},
data: [
{
name: 'A',
x: 300,
y: 300
},
{
name: 'B',
x: 800,
y: 300
},
{
name: 'C',
x: 550,
y: 100
},
{
name: 'D',
x: 550,
y: 500
},
{
name: 'E',
x: 1000,
y: 300
},
{
name: 'F',
x: 1200,
y: 300
}
],
// links: [],
links: [
{
source: 'A',
target: 'C'
},
{
source: 'B',
target: 'C'
},
{
source: 'B',
target: 'D'
},
{
source: 'A',
target: 'D'
},
{
source: 'B',
target: 'E'
},
{
source: 'E',
target: 'F'
}
],
lineStyle: {
opacity: 0.9,
width: 2,
curveness: 0
}
}
]
};
Итоговый график в основном выглядит так:
Положение x каждого узла соответствует оси времени. Таким образом, в этом примере графика «E» находится перед «F» и после «B».
Как я могу расширить этот график с помощью DataZoom на оси x, как в этом примере? https://echarts.apache.org/examples/en/editor.html?c=custom-error-scatter



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


echarts дает один ключ конфигурации, скажем coordinateSystem. для получения дополнительной информации:нажмите здесь
Здесь я реализовал базовый пример: ПРИМЕР
@itsame69, я привел пример, аналогичный приведенному выше, но оси x и y скрыты. Пожалуйста, обратитесь к обновленной ссылке на пример.
Кодирование данных X/Y в виде массива под свойством value в объекте data, похоже, работает для координатной системыcartesian2d.
Пример :
const data = [
{ name: 'A', value: [300, 300] },
{ name: 'B', value: [800, 300] },
{ name: 'C', value: [550, 100] },
{ name: 'D', value: [550, 500] },
{ name: 'E', value: [1000, 300] },
{ name: 'F', value: [1200, 300] }
];
const links = [
{ source: 'A', target: 'C' },
{ source: 'B', target: 'C' },
{ source: 'B', target: 'D' },
{ source: 'A', target: 'D' },
{ source: 'B', target: 'E' },
{ source: 'E', target: 'F' }
];
option = {
title: {
text: 'Basic Graph'
},
tooltip: {},
xAxis: {max: 1400},
yAxis: {max: 600},
dataZoom: {type: 'slider'},
series: [
{
type: 'graph',
coordinateSystem: 'cartesian2d',
layout: 'none',
symbolSize: 50,
roam: true,
label: {
show: true
},
edgeSymbol: ['circle', 'arrow'],
edgeSymbolSize: [4, 10],
edgeLabel: {
fontSize: 20
},
data: data,
links: links,
lineStyle: {
opacity: 0.9,
width: 2,
curveness: 0
}
}
]
};
Большое спасибо за вашу быструю помощь. Однако я не уверен, поможет ли мне ответ, поскольку у меня есть график с сотнями узлов, и все эти узлы находятся в определенных позициях X/Y (как в примере со скрипкой, который я опубликовал).