Javascript 如果高图表堆叠条形图中的对象中存在空值,则在图表中显示空间 系列:[{ 姓名:'约翰', 数据:[5,3,4,7,2] }, { 姓名:'简', 数据:[2,2,3,null,1] }, { 名字:'乔', 数据:[3,4,4,2,5] }]

Javascript 如果高图表堆叠条形图中的对象中存在空值,则在图表中显示空间 系列:[{ 姓名:'约翰', 数据:[5,3,4,7,2] }, { 姓名:'简', 数据:[2,2,3,null,1] }, { 名字:'乔', 数据:[3,4,4,2,5] }],javascript,angularjs,highcharts,Javascript,Angularjs,Highcharts,例如,在上面的对象中,“Jane”包含null值作为第四个参数,因此我们不需要显示数据,而是需要在图表中的分组条之间显示空格,下面是用空字符串替换null的示例代码: 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,

例如,在上面的对象中,
“Jane”
包含null值作为第四个参数,因此我们不需要显示数据,而是需要在图表中的分组条之间显示空格,下面是用空字符串替换null的示例代码:

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);

但留出空间会影响图表的可读性。现在,一个堆叠条在yAxis上的值为7(0-7),第二个堆叠条的值等于2(7-9),这在图表上显示为总和9。如果为空值留出空间,则会将上限点移得更高

我想到的唯一解决方案(这不是完美的,因为它稍微干扰了图表的可读性)是设置一个值很小的点,白色,并禁用在工具提示中显示该点

见:


API:

默认情况下,HighCharts将空值处理为空格:
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]
   }]