Показывать галочки только при целочисленных значениях в Vega Lite - PullRequest
0 голосов
/ 27 октября 2019

На графике, который я делаю с помощью Vega Lite, я вижу тики с шагом 0,5, хотя данные будут включать только целые значения. Есть ли способ установить это в Vega Lite? Я пытался найти что-то вроде «минимального шага» или что-то похожее в документах, но ничего подобного не нашел.

1 Ответ

1 голос
/ 28 октября 2019

Есть несколько способов сделать это, в зависимости от вашей ситуации. Например, рассмотрим следующую таблицу:

{
  "data": {
    "values": [
      {"x": 1, "y": 1},
      {"x": 2, "y": 3},
      {"x": 3, "y": 4},
      {"x": 4, "y": 2}
    ]
  },
  "mark": "point",
  "encoding": {
    "x": {"type": "quantitative", "field": "x"},
    "y": {"type": "quantitative", "field": "y"}
  },
  "width": 400
}

enter image description here

Если все ваши значения являются целыми числами, а вы заботитесь только о целых числах, возможно, вашданные лучше представлены порядковыми значениями (то есть упорядоченными категориальными данными). Если это так, вы можете убрать отметки, указав порядковый тип:

{
  "data": {
    "values": [
      {"x": 1, "y": 1},
      {"x": 2, "y": 3},
      {"x": 3, "y": 4},
      {"x": 4, "y": 2}
    ]
  },
  "mark": "point",
  "encoding": {
    "x": {"type": "ordinal", "field": "x"},
    "y": {"type": "quantitative", "field": "y"}
  },
  "width": 400
}

enter image description here

Если вы хотите, чтобы ваши данные были представлены как количественные, нопросто хотите настроить интервал между тиками, вы можете использовать свойство axis.tickMinStep:

{
  "data": {
    "values": [
      {"x": 1, "y": 1},
      {"x": 2, "y": 3},
      {"x": 3, "y": 4},
      {"x": 4, "y": 2}
    ]
  },
  "mark": "point",
  "encoding": {
    "x": {"type": "quantitative", "field": "x", "axis": {"tickMinStep": 1}},
    "y": {"type": "quantitative", "field": "y"}
  },
  "width": 400
}

enter image description here

...