Заказ поля (дата) в простой таблице данных Vega - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть простая текстовая таблица vega ata, которую мы используем в Kibana, она отлично работает, но я пытаюсь найти способ упорядочить результаты по дате прибытия, код ниже:

   {

  $schema: https://vega.github.io/schema/vega/v3.json
  config: {
    title: {offset: 20, fontSize: 14, font: "Helvetica", anchor:"start"}
  }
  title: {
    text: Departure Airport    Arrival Time   
  }
  background: white
  width: 1200
  height: 100
  padding: {"left": 0, "top": 5, "right": 5, "bottom": 5}
  autosize: {type: "pad"}

  // Define the data source
    data: [
    {
      name: source
      url: {
        // change "index" to the name of the index
        index: myindex*
        "%context%": true 
        body: {
          size: "10"
        }
      }
      format: {property: "hits.hits"}
      transform: [
        {
          type: flatten
          // change fields to the actual path for flight segment but keep _source as a prefix
          fields: ["_source.Something.FlightSegment"] 
          as: ["val"]
        }
        {
          type: formula
          as: x_position
          expr: width * 1 / 4
        }
        {type: "formula", as: "line_height", expr: "20"}
        {
          type: stack
          groupby: ["x_position"]
          field: line_height
          as: ["y0", "y1"]
        }
      ]
    }
  ]
  marks: [
    {
      type: text
      from: {data: "source"}
      interactive: true
      encode: {
        enter: {
          x: {field: "x_position", offset: -250}
          y: {field: "y0"}
          y2: {field: "y1"}
          align: {value: "right"}
          text: {field: "val.DepartureAirportCode"}
          font: {value: "Helvetica"}
          fontSize: {value: 14}
        }
      }
    }
    {
      type: text
      from: {data: "source"}
      interactive: true
      encode: {
        enter: {
          x: {field: "x_position", offset: -150}
          y: {field: "y0"}
          y2: {field: "y1"}
          align: {value: "left"}
          text: {field: "val.ArrivalDateTime"}
          font: {value: "Helvetica"}
          fontSize: {value: 14}
        }
      }
    }

  ]
}

Вот результат:

enter image description here

Вы можете видеть, что результаты возвращены, но не в порядке.То, что я хотел бы сделать, это заказать его по ArrivalDateTime.

Моя проблема в том, что большинство уроков, которые я видел, предназначены для реальных графиков, а не только для простого старого текста.

Очень ценю, что кто-то помогает мне здесь.

1 Ответ

0 голосов
/ 20 февраля 2019

Мне тоже было любопытно, поэтому я нашел Vega lite sort

Особенно сортировка путем кодирования из другого поля выполнит эту работу.

...