【问题标题】:Vega chart: how to hide 0 values from the chart, but keep info on the axes?Vega 图表:如何从图表中隐藏 0 值,但在轴上保留信息?
【发布时间】:2019-09-26 20:27:51
【问题描述】:

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

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

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

【问题讨论】:

    标签: charts filtering vega


    【解决方案1】:

    您可以使用production rules 将不透明度设置为0(当值等于0 时),否则设置为1

    【讨论】:

      【解决方案2】:

      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"}
          },
      ...
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-26
        • 1970-01-01
        • 2020-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多