На линейном графике Highcharts все точки исчезают, если у них более одной точки с одинаковой осью X - PullRequest
0 голосов
/ 07 июля 2019

Я использую angular-highcharts с angular 7. Когда я использую type: "category" для xAxis, как показано ниже:

xAxis: {
  title: {
    text: 'myCustomDates'
  },
  type: 'category',
  categories: ["1398/03/01", "1398/03/02", ...],
}


and data in the series looks like this:
data: [
    { name: "1398/03/02", color: "yellow", y: 2.3 },
    { name: "1398/03/03", color: "red", y: 2.9 },
    { name: "1398/03/04", color: "green", y: 5 },
    { name: "1398/03/04", color: "green", y: 7 },
    { name: "1398/03/15", color: "red", y: 3.5 },
    { name: "1398/03/15", color: "yellow", y: 2.5 },
     ...
   ],

Работает нормально, как вы видите на картинке ниже: enter image description here

, но если существует несколько точек с одинаковым значением xAxis (в моем случае персидская дата), оно работает, но скрывает все точки и по-прежнему показывает точку, когда я нахожу на нее курсор, но только одна точка из точек с одинаковой осью.

enter image description here

enter image description here

Я хочуиметь любое количество точек с одинаковой осью X и показывать все точки, как на первом изображении.Почему он их скрывает и как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 08 июля 2019

В API Highcharts мы можем прочитать:

enabledThreshold: число

Порог, насколько плотными должны быть маркеры точек, прежде чем они будут скрыты, учитываячто включено не определено.Число указывает горизонтальное расстояние между двумя ближайшими точками в серии, кратное маркеру.radius.(...)

По умолчанию 2.

Таким образом, вы можете уменьшить значение enabledThreshold или установить для свойства enabled значение true:

plotOptions: {
  series: {
    findNearestPointBy: 'xy' // To make a tooltip works correctly.
  },
},
series: [{
    marker: {
        enabledThreshold: 0,
        // enabled: true
    },
    data: [...]
}]

Демонстрационная версия: http://jsfiddle.net/BlackLabel/2xguwtfn/

Справочник по API: https://api.highcharts.com/highcharts/series.line.marker.enabledThreshold

1 голос
/ 08 июля 2019

Вы должны добавить в свою серию следующее:

findNearestPointBy: 'xy'

Если у данных есть повторяющиеся значения x, вы должны установить это значение в 'xy', чтобы разрешитьпарящий над всеми точками.

Подробнее: Документация найтиNearestPointBy

...