Vega图表:如何从图表中隐藏0个值,但在轴上保留信息?

时间:2019-09-26 20:27:51

标签: charts filtering vega

我有维加图表。 当零到来时,它将以这种方式显示图表:

enter image description here

当值等于0时是否可以删除圆? 我试图通过data.filter(el => el.count!== 0)过滤数据,但它也会删除X轴上的值。

enter image description here

我需要保留这些值,但只能删除圆圈。 还尝试在vega规范中使用“转换”,但根本不显示任何内容。

2 个答案:

答案 0 :(得分:0)

当值等于零时,可以使用production rules0的不透明度设置为1,否则可以将其设置为all(...)

答案 1 :(得分:0)

data.filter(el=>el.count!==0)没有显示任何圈子。因为从第一张图片开始的所有圆的y轴值都显示为0。

要删除与y轴重叠的圆,data.filter(el => el.date != first_date_value)将从左侧删除第一个圆。first_date_value是从x轴开始的最小日期。

要以vega方式进行操作,请将x轴移动与圆弧半径相同的像素量。因此,x轴刻度将在[radius_of_circle, width]范围内,而不是[0, width]

  "scales": [
    {
      "name": "x",
      "type": "point",
      "range": {"signal": "[15, width]"},
      "domain": {"data": "table", "field": "x"}
    },
...

这将使x轴以15px的偏移量开始,如下图所示。因此,即使第一个圆在y轴上也不重叠。

enter image description here