如何在打孔卡中使用所有圆圈大小?

How to use all circle sizes in a punchcard?

This VEGA-lite demo of Table Bubble Plot 使用所有尺寸,从小圆到大圆。

我的脚本(如下图所示)未使用,只有 2 或 3 种尺寸。如何强制或告诉 VEGA-lite 使用所有圆尺寸?

{
          "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
          "data": { "url":"/_sql/myTable"},
          "mark": "circle",
          "encoding": {
            "y": {
              "field": "instant",
              "type": "ordinal",
              "timeUnit": "day",
              "sort": ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
            },
            "x": {
              "field": "instant",
              "type": "ordinal",
              "timeUnit": "hours"
            },
            "size": {
              "field": "n_pmin",
              "type": "quantitative",
              "aggregate": "avg"
            },
            "color": {
              "field": "n_pmin",
              "type": "quantitative",
              "aggregate": "avg"
            }           
          }
}

PS: ideal也把"only blue"渐变改成了"bluegreen",但是我没看到怎么把color设置成color。


注意事项

对于@Jim 请求,示例:

[{"instant":"2020-04-23T14:46:42","n_pmin":2210086}, 
 {"instant":"2020-04-23T15:05:01","n_pmin":2214909}, 
 {"instant":"2020-04-23T16:05:01","n_pmin":2159652}, 
 {"instant":"2020-04-23T17:05:01","n_pmin":2290159}, 
 {"instant":"2020-04-23T18:05:01","n_pmin":2235739}, 
 {"instant":"2020-04-23T19:05:01","n_pmin":2505914}, 
 {"instant":"2020-04-23T20:05:01","n_pmin":2517069}, 
 {"instant":"2020-04-23T21:05:01","n_pmin":2492883}, 
 {"instant":"2020-04-23T22:05:01","n_pmin":2535839}, 
 {"instant":"2020-04-23T23:05:01","n_pmin":2519568}, 
 {"instant":"2020-04-24T00:05:02","n_pmin":2367309}, 
 {"instant":"2020-04-24T01:05:01","n_pmin":2384885}, 
 {"instant":"2020-04-24T02:05:01","n_pmin":2340421}, 
 {"instant":"2020-04-24T03:05:01","n_pmin":2369579}, 
 {"instant":"2020-04-24T04:05:01","n_pmin":2285203}, 
 {"instant":"2020-04-24T05:05:01","n_pmin":2206629}, 
 {"instant":"2020-04-24T06:05:01","n_pmin":2149411}, 
 {"instant":"2020-04-24T07:05:01","n_pmin":2218313}, 
 {"instant":"2020-04-24T08:05:01","n_pmin":2231320}, 
 {"instant":"2020-04-24T09:05:01","n_pmin":2163876}, 
 {"instant":"2020-04-24T10:05:01","n_pmin":2100388}, 
 {"instant":"2020-04-24T11:05:01","n_pmin":2040520}, 
 {"instant":"2020-04-24T12:05:02","n_pmin":2157928}, 
 {"instant":"2020-04-24T13:05:01","n_pmin":2099753}, 
 {"instant":"2020-04-24T15:05:01","n_pmin":2334844}, 
 {"instant":"2020-04-24T16:05:01","n_pmin":2430831}, 
 {"instant":"2020-04-24T17:05:01","n_pmin":2403722}, 
 {"instant":"2020-04-24T18:05:02","n_pmin":2468541}, 
 {"...":"..."},
 {"instant":"2020-05-13T16:05:01","n_pmin":2717164}, 
 {"instant":"2020-05-13T17:05:01","n_pmin":2794972}, 
 {"instant":"2020-05-13T18:05:01","n_pmin":2824981}, 
 {"instant":"2020-05-13T19:05:01","n_pmin":2852586}, 
 {"instant":"2020-05-13T20:05:01","n_pmin":2868170}]

主要问题的简短回答,

How to enforce or say to VEGA-lite use all circle sizes?

"zero": false
但是,让我们更详细地了解如何以更手工的方式进行操作,以了解何时可以将 scale.zero 设置为 false 作为更快的解决方案。


您可以使用相关编码中的 scale 规范调整您感兴趣的属性。

对于配色方案,您可以将 scale.scheme 设置为 Vega Color Schemes 中列出的任何选项。

对于大小,您可以将scale.domainscale.range设置为所需的值,其中domain是数据space中数字的范围,range 是以方形像素为单位的相关图例标记的面积。

或者,您可以将 scale.zero 设置为 false 以自动调整域,并省略零值(这是导致图表中出现 "missing" 圆圈的原因) .

使用您提供的示例数据 (vega editor) 将其放在一起,可能如下所示:

{
  "$schema": "https://vega.github.io/schema/vega-lite/v4.json",
  "data": {
    "values": [
      {"instant": "2020-04-23T14:46:42", "n_pmin": 2210086},
      {"instant": "2020-04-23T15:05:01", "n_pmin": 2214909},
      {"instant": "2020-04-23T16:05:01", "n_pmin": 2159652},
      {"instant": "2020-04-23T17:05:01", "n_pmin": 2290159},
      {"instant": "2020-04-23T18:05:01", "n_pmin": 2235739},
      {"instant": "2020-04-23T19:05:01", "n_pmin": 2505914},
      {"instant": "2020-04-23T20:05:01", "n_pmin": 2517069},
      {"instant": "2020-04-23T21:05:01", "n_pmin": 2492883},
      {"instant": "2020-04-23T22:05:01", "n_pmin": 2535839},
      {"instant": "2020-04-23T23:05:01", "n_pmin": 2519568},
      {"instant": "2020-04-24T00:05:02", "n_pmin": 2367309},
      {"instant": "2020-04-24T01:05:01", "n_pmin": 2384885},
      {"instant": "2020-04-24T02:05:01", "n_pmin": 2340421},
      {"instant": "2020-04-24T03:05:01", "n_pmin": 2369579},
      {"instant": "2020-04-24T04:05:01", "n_pmin": 2285203},
      {"instant": "2020-04-24T05:05:01", "n_pmin": 2206629},
      {"instant": "2020-04-24T06:05:01", "n_pmin": 2149411},
      {"instant": "2020-04-24T07:05:01", "n_pmin": 2218313},
      {"instant": "2020-04-24T08:05:01", "n_pmin": 2231320},
      {"instant": "2020-04-24T09:05:01", "n_pmin": 2163876},
      {"instant": "2020-04-24T10:05:01", "n_pmin": 2100388},
      {"instant": "2020-04-24T11:05:01", "n_pmin": 2040520},
      {"instant": "2020-04-24T12:05:02", "n_pmin": 2157928},
      {"instant": "2020-04-24T13:05:01", "n_pmin": 2099753},
      {"instant": "2020-04-24T15:05:01", "n_pmin": 2334844},
      {"instant": "2020-04-24T16:05:01", "n_pmin": 2430831},
      {"instant": "2020-04-24T17:05:01", "n_pmin": 2403722},
      {"instant": "2020-04-24T18:05:02", "n_pmin": 2468541},
      {"instant": "2020-05-13T16:05:01", "n_pmin": 2717164},
      {"instant": "2020-05-13T17:05:01", "n_pmin": 2794972},
      {"instant": "2020-05-13T18:05:01", "n_pmin": 2824981},
      {"instant": "2020-05-13T19:05:01", "n_pmin": 2852586},
      {"instant": "2020-05-13T20:05:01", "n_pmin": 2868170}
    ]
  },
  "mark": "circle",
  "encoding": {
    "y": {
      "field": "instant",
      "type": "ordinal",
      "timeUnit": "day",
      "sort": ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
    },
    "x": {"field": "instant", "type": "ordinal", "timeUnit": "hours"},
    "size": {
      "field": "n_pmin",
      "type": "quantitative",
      "aggregate": "mean",
      "scale": {"domain": [2200000, 3000000], "range": [100, 500]}
    },
    "color": {
      "field": "n_pmin",
      "type": "quantitative",
      "aggregate": "mean",
      "scale": {"domain": [2200000, 3000000], "scheme": "bluegreen"}
    }
  }
}


动态数据的自动非零拟合

动态数据(例如刷新网页时的新数据)是我们不能使用常量域范围的典型情况。在另一个图表 on VEGA editor 中,scale.zero(颜色和尺寸)都设置为 false,导致自动缩放范围调整:

    "size": {
      "field": "n_pmin",
      "type": "quantitative",
      "aggregate": "mean",
      "scale": {"zero": false }
    },
    "color": {
      "field": "n_pmin",
      "type": "quantitative",
      "aggregate": "mean",
      "scale": {"scheme": "bluegreen", "zero": false}
    }