【问题标题】:How to hide legend for the size and normalise size by area in VegaLite?如何在 VegaLite 中隐藏尺寸图例并按区域标准化尺寸?
【发布时间】:2019-12-16 16:10:28
【问题描述】:

尺寸图例显示在右侧,如何完全隐藏?

第二个问题 - 圆的直径似乎与给定的数字成正比。如何以另一种方式对其进行缩放,以便:

  • 最大的圆圈大小为 10 像素
  • 所有较小的圆圈都会变小与面积成比例,而不是直径。并且不小于 1px。

live playground

【问题讨论】:

    标签: vega vega-lite


    【解决方案1】:

    要完全隐藏图例,请在相关编码中使用"legend": null(请参阅Legend docs)。

    要控制大小范围,您可以使用scale.range 设置。例如,"scale": {"range":[0, 50]},将使点的大小在 0 到 50 像素之间变化(参见Scale.range docs)。

    这是在您的示例图表 (vega editor) 中使用的示例:

    {
      "data": {
        "values": [
          {"a": "C", "b": 2},
          {"a": "C", "b": 7},
          {"a": "C", "b": 4},
          {"a": "D", "b": 1},
          {"a": "D", "b": 2},
          {"a": "D", "b": 2.1},
          {"a": "D", "b": 2.3},
          {"a": "D", "b": 6},
          {"a": "E", "b": 8.1},
          {"a": "E", "b": 4},
          {"a": "E", "b": 7}
        ]
      },
      "encoding": {
        "size": {
          "field": "b",
          "type": "quantitative",
          "scale": {"range": [0, 50]},
          "legend": null
        },
        "x": {"axis": {"title": null}, "field": "b", "type": "quantitative"},
        "y": {"axis": {"title": null}, "field": "a", "type": "nominal"}
      },
      "mark": "circle"
    }
    

    【讨论】:

    • 谢谢!似乎默认情况下它可以按预期工作,并使圆圈的大小与其面积成正比。
    • 如何使用 json 规范本身(例如在 observablehq 中)或如何在 js 样式规范规范中使用 legend=null?即 vl.data(...)。
    猜你喜欢
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多