Как добавить eCharts DataZoom на график

Я реализовал график 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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
79
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

echarts дает один ключ конфигурации, скажем coordinateSystem. для получения дополнительной информации:нажмите здесь

Здесь я реализовал базовый пример: ПРИМЕР

Большое спасибо за вашу быструю помощь. Однако я не уверен, поможет ли мне ответ, поскольку у меня есть график с сотнями узлов, и все эти узлы находятся в определенных позициях X/Y (как в примере со скрипкой, который я опубликовал).

itsame69 28.03.2024 09:32

@itsame69, я привел пример, аналогичный приведенному выше, но оси x и y скрыты. Пожалуйста, обратитесь к обновленной ссылке на пример.

Abhay Padamani 29.03.2024 19:03
Ответ принят как подходящий

Кодирование данных 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
      }
    }
  ]
};

Другие вопросы по теме