lite热图文本属性

lite热图文本属性

本文介绍了Vega-lite热图文本属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一天中的好时光!

所有文本- https://github.com/vega/vega-lite/问题/5697

  1. 在块中构建数据时,我想更改字体大小和文本在块中的位置.使用了文档- https://vega.github.io/vega-lite/docs/title.html ,但不起作用.
  1. When building data in a block, I would like to change the font size and position of the text in the block. Used the documentation -https://vega.github.io/vega-lite/docs/title.html, but it does not work.

阻止:

{
    "mark": "text"
     "encoding": {
      "text": {"field": "z", "type": "quantitative"}
      "color": {"value": "black"}
      "fontSize": 40
}

更改位置将允许添加第二个文本:

Changing the position will allow for the addition of a second text:

完整代码:

    {
    "$schema": "https://vega.github.io/schema/vega-lite/v2.4.3.json",
    "config": {"view": {"height": 300, "width": 400}},
    "data": {
    "values": [
        {"x": 0, "y": 0, "z": 0},
        {"x": 1, "y": 0, "z": 1},
        {"x": 2, "y": 0, "z": 4},
        #{"x": 3, "y": 0, "z": 9},
        {"x": 4, "y": 0, "z": 16},
        #{"x": 5, "y": 0, "z": 25},
        {"x": 0, "y": 1, "z": 1},
        {"x": 1, "y": 1, "z": 2},
        {"x": 2, "y": 1, "z": 5},
        {"x": 3, "y": 1, "z": 10},
        #{"x": 4, "y": 1, "z": 17},
        {"x": 5, "y": 1, "z": 26}]
    },

    "encoding": {
        "x": {"field": "x", "type": "ordinal", title: "X"}
        "y": {"field": "y", "type": "ordinal", title: "Y"}
    }

    "layer": [
        {
            "mark": "rect"
            from: {data: "values"}
            "encoding": {
                "color": {
                    "field": "z"
                    "scale": {"scheme": "redyellowgreen"}
                    "type": "quantitative"
                }
            }
        }
        {
            "mark": "text"
            "encoding": {
                "text": {"field": "z", "type": "quantitative"}
                "color": {"value": "black"}
                "fontSize": 40
            }
        }
    ]
    }

2我想要一个没有空格的温度图.如果创建一个变量,则可以通过"groupby"对所有x进行计数:[y]

2 I'd like a temperature map without spaces. It is possible if create a variable to count all x by "groupby":[y]

请帮助我.

推荐答案

没有fontSize编码,但是您可以设置fontSize 标记属性:

There is no fontSize encoding, but you can set a fontSize mark property:

{
  "mark": {"type": "text", "fontSize": 40},
  "encoding": {
    "text": {"field": "z", "type": "quantitative"},
    "color": {"value": "black"}
  }
}

要垂直偏移文本,可以使用dy mark属性,该属性指定垂直偏移文本的像素数:

To offset text vertically, you can use the dy mark property, which specifies a number of pixels by which to vertically offset the text:

{
  "mark": {"type": "text", "fontSize": 20, "dy": -20},
  "encoding": {
    "text": {"value": "text"},
    "color": {"value": "black"}
  }
}

对于计算新的x值以填充空间,您可以使用窗口转换.

As for computing new x values to fill-in spaces, you can do this with a Window Transform.

下面是您的示例的修改的版本,将所有此一起():

Here is a modified version of your example that puts all of this together (view in vega editor):

{
  "$schema": "https://vega.github.io/schema/vega-lite/v2.4.3.json",
  "config": {"view": {"height": 300, "width": 400}},
  "data": {
    "values": [
      {"x": 0, "y": 0, "z": 0},
      {"x": 1, "y": 0, "z": 1},
      {"x": 2, "y": 0, "z": 4},
      {"x": 4, "y": 0, "z": 16},
      {"x": 0, "y": 1, "z": 1},
      {"x": 1, "y": 1, "z": 2},
      {"x": 2, "y": 1, "z": 5},
      {"x": 3, "y": 1, "z": 10},
      {"x": 5, "y": 1, "z": 26}
    ]
  },
  "transform": [
    {"window": [{"op": "count", "field": "x", "as": "x2"}], "groupby": ["y"]}
  ],
  "encoding": {
    "x": {"field": "x2", "type": "ordinal", "title": "X"},
    "y": {"field": "y", "type": "ordinal", "title": "Y"}
  },
  "layer": [
    {
      "mark": "rect",
      "encoding": {
        "color": {
          "field": "z",
          "scale": {"scheme": "redyellowgreen"},
          "type": "quantitative"
        }
      }
    },
    {
      "mark": {"type": "text", "fontSize": 20, "dy": -20},
      "encoding": {
        "text": {"value": "text"},
        "color": {"value": "black"}
      }
    },
    {
      "mark": {"type": "text", "fontSize": 40, "dy": 20},
      "encoding": {
        "text": {"field": "z", "type": "quantitative"},
        "color": {"value": "black"}
      }
    }
  ]
}

这篇关于Vega-lite热图文本属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-06 16:06