Показывать подсказки по всем точкам вертикальной линии

Мне нужно нарисовать вид plotLine с подсказкой над ним. Подсказки для сюжетных линий невозможны по API. Я могу нарисовать линию, вертикальную линию и создать для нее всплывающую подсказку, поэтому по какой-то причине отображается только одна точка всплывающей подсказки, даже если у меня несколько линий в строке, поэтому я хотел бы иметь возможность иметь несколько разных всплывающих подсказок, когда пользователь перемещает мышь над ним.

Вот код, который показывает, что отображается только одна точка / маркер - https://jsfiddle.net/Lftwjymc/

Копия кода:

Highcharts.chart('container', {
    xAxis: {
        type: 'datetime'
    },

    series: [{
        data: [
            [Date.UTC(2010, 0, 1), 29.9],
            [Date.UTC(2010, 0, 1), 71.5],
            [Date.UTC(2010, 0, 1), 75.5],
            [Date.UTC(2010, 0, 1), 80.5],
            [Date.UTC(2010, 0, 1), 106.4]
        ]
    }]
});

Мой код представляет собой крошечную модификацию (только что сделанную линию вертикально) примера из API - https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/series/data-array- из-массивов-DateTime /

Как можно отобразить все точки (из серии) на графике с подсказками? это работает для не вертикальных рядов, но те серии становятся вертикальными, только одна точка показана.

Или как сделать всплывающую подсказку на сюжетной линии?

Всего 2 ответа


Вы можете легко достичь этого, используя один из следующих подходов:

  1. Используйте plotLine чтобы показать линию и ряд scatter чтобы построить каждую точку отдельно:

Код:

Highcharts.chart('container', {
  xAxis: {
    type: 'datetime',
    plotLines: [{
        color: '#FF0000',
        value: Date.UTC(2010, 0, 1),
      width: 1
    }]
  },
  series: [{
    type: 'scatter',
    data: [
      [Date.UTC(2010, 0, 1), 29.9],
      [Date.UTC(2010, 0, 1), 71.5],
      [Date.UTC(2010, 0, 1), 75.5],
      [Date.UTC(2010, 0, 1), 80.5],
      [Date.UTC(2010, 0, 1), 106.4]
    ]
  }]
});

Демо - версия:

API:


  1. Создайте две серии с одинаковыми точками данных, line и scatter :

Код:

const data = [
  [Date.UTC(2010, 0, 1), 29.9],
  [Date.UTC(2010, 0, 1), 71.5],
  [Date.UTC(2010, 0, 1), 75.5],
  [Date.UTC(2010, 0, 1), 80.5],
  [Date.UTC(2010, 0, 1), 106.4]
];

Highcharts.chart('container', {
  xAxis: {
    type: 'datetime'
  },
  series: [{
    linkedTo: 'main',
    data: data
  }, {
    type: 'scatter',
    id: 'main',
    name: 'Series',
    data: data
  }]
});

Демо - версия:


Я смог сделать вертикальную линию с подсказками: Вот пример - https://jsfiddle.net/05bwkzma/

Это выглядит как: вертикальная линия с подсказками

Критические предметы: использовать точечный график; использовать линейный график, который связан с точечным графиком; Точечный график должен иметь marker.enabled = false и status.hover.enabled = false [пример] .

Код:

const data = [
  [Date.UTC(2010, 0, 1), 29],
  [Date.UTC(2010, 0, 1), 30],
  [Date.UTC(2010, 0, 1), 31],
  [Date.UTC(2010, 0, 1), 32],
  [Date.UTC(2010, 0, 1), 33]
];

Highcharts.chart('container', {
  xAxis: {
    type: 'datetime'
  },
  series: [{
    linkedTo: 'main',
    data: data
  }, {
    type: 'scatter',
    id: 'main',
    name: 'Series',
    marker: {
      enabled: false,
      states: {
        hover: {
          enabled: false
        }
      }
    },
    data: data
  }]
});


Есть идеи?

10000