линия отметки не работает, тогда как круг отметки работает

Я хотел бы нарисовать линейную диаграмму для поля raw_value, и у меня есть этот код:

{
  $schema: https://vega.github.io/schema/vega-lite/v4.json
  data: {
    url: {
      %context%: true
      %timefield%: @timestamp
      index: filebeat-*
      body: {
        size: 10000
        _source: ["@timestamp","raw_value"]
      }
    }
    format: {property: "hits.hits"}
  }
  transform: [
    {calculate: "toDate(datum._source['@timestamp'])", as: "time"}
  ]

  mark: circle
  encoding: {
    x: {field: "time", type: "temporal"}
    y: {field: "_source.raw_value", type: "quantitative"}
  }
}

он работает хорошо, и я вижу круги для каждой пары (_3 _, _ 4_), но если я хочу нарисовать линию, чтобы полагаться на точки, и я заменяю circle на line, на диаграмме ничего не отображается.


person TmSmth    schedule 29.03.2021    source источник


Ответы (1)


Линии рисуются только между соседними ненулевыми точками, поэтому то, что вы описываете, обычно означает, что в ваших данных есть нулевые y значения. Вы можете исправить это, отфильтровав неопределенные данные перед рисованием линий:

  transform: [
    {calculate: "toDate(datum._source['@timestamp'])", as: "time"},
    {filter: "isDefined(datum._source.raw_value)"}
  ]
person jakevdp    schedule 29.03.2021
comment
Благодарность ! есть ли шанс, что вы знаете ссылку на документ, чтобы узнать такие вещи о веге? - person TmSmth; 30.03.2021