Отобразить пространство на графике в случае нулевого значения, присутствующего в объекте в столбчатой ​​диаграмме с большими диаграммами - PullRequest
0 голосов
/ 23 января 2020
series: [{
        name: 'John',
        data: [5, 3, 4, 7, 2]
    }, {
        name: 'Jane',
        data: [2, 2, 3, null, 1]
    }, {
        name: 'Joe',
        data: [3, 4, 4, 2, 5]
    }]

Например, в приведенном выше объекте "Jane" содержит нулевое значение в качестве 4-го параметра, поэтому вместо того, чтобы не отображать данные, нам нужно отобразить пространство между сгруппированными столбцами на диаграмме

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Но пробел нарушит удобочитаемость диаграммы. Теперь один столбец с накоплением имеет значение 7 (0-7) на оси y, а второй - значение 2 (7-9), что показывает их как сумму 9 на графике. Если вы сделаете пространство для нулевого значения, оно переместит верхнюю точку выше.

Единственное решение, которое пришло мне в голову (которое не идеально, потому что оно немного нарушает читаемость графика), это установить точка с очень маленьким значением и белым цветом и отключенная, показывающая эту точку во всплывающей подсказке.

См .: https://jsfiddle.net/BlackLabel/xwbtk9yr/

series: [{
        name: 'John',
        data: [5, 3, 4, 7, 2]
    }, {
        name: 'Jane',
        data: [2, 2, 3, {y: 0.2, color: 'white', }, 1]
    }, {
        name: 'Joe',
        data: [3, 4, 4, 2, 5]
   }]

API: https://api.highcharts.com/highcharts/tooltip.formatter

0 голосов
/ 23 января 2020

Вот пример кода для замены нуля пустой строкой:

let obj = {
  series: [{
    name: 'John',
    data: [5, 3, 4, 7, 2]
  }, {
    name: 'Jane',
    data: [2, 2, 3, null, 1]
  }, {
    name: 'Joe',
    data: [3, 4, 4, 2, 5]
  }]
};

let obj1 = JSON.stringify(obj, (k, v) => {
  if (v === null) {
    return ""; // change null to empty string
  } else {
    return v; // return unchanged
  }
})

obj = JSON.parse(obj1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...