линейный сюжет vega-lite - цвет не применяется в фильтре преобразования

Я бы предложил загрузить Process Explorer из Sysinternals и посмотреть более подробно на различные процессы java.exe, чтобы вы могли лучше понять, какой из них можно убить.

http: //technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Это очень интуитивно понятно, и вы можете найти процессы java.exe и щелкнуть правой кнопкой мыши и перейти к их свойствам, оттуда вы можете увидеть их командную строку, время создания и т. д., которые могут помочь вам найти процесс, который вы хотите убить.

Надеюсь, что это поможет.

0
задан false9striker 18 January 2019 в 17:27
поделиться

1 ответ

Краткий ответ: ваш график работает, за исключением того, что отфильтрованные значения не окрашены в красный цвет.

Основная проблема заключается в том, что кодировки всегда заменяют свойства меток, как вы можете видеть в этом более простом примере: ссылка редактора

{
  "$schema": "https://vega.github.io/schema/vega-lite/v3.json",
  "description": "A scatterplot showing horsepower and miles per gallons.",
  "data": {"url": "data/cars.json"},
  "mark": {"type": "point", "color": "red"},
  "encoding": {
    "x": {"field": "Horsepower", "type": "quantitative"},
    "y": {"field": "Miles_per_Gallon", "type": "quantitative"},
    "color": {"field": "Origin", "type": "nominal"},
    "shape": {"field": "Origin", "type": "nominal"}
  }
}

enter image description here [ 115]

Обратите внимание, что, хотя мы указываем, что метка должна иметь красный цвет, это переопределяется кодировкой цвета. Это разработано в Vega-Lite, потому что кодировки более специфичны, чем свойства.

Возвращаясь к вашей диаграмме: поскольку вы указываете цветовую кодировку в родительской диаграмме, каждый отдельный слой наследует эту цветовую кодировку, и эти цвета переопределяют "color": "red", который вы указали в отдельных слоях.

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

{
  "$schema": "https://vega.github.io/schema/vega-lite/v3.json",
  "data": {...},
  "width": 1000,
  "height": 200,
  "autosize": {"type": "pad", "resize": true},
  "transform": [
    {
      "window": [{"op": "rank", "as": "rank"}],
      "sort": [{"field": "dateTime", "order": "descending"}]
    },
    {"filter": "datum.rank <= 100"}
  ],
  "layer": [
    {
      "mark": {"type": "line"},
      "encoding": {
        "color": {
          "field": "name",
          "type": "nominal",
          "legend": {"title": "Type"}
        }
      }
    },
    {
      "mark": {"type": "line", "color": "red"},
      "transform": [
        {
          "as": "count",
          "calculate": "if(datum.anomaly == true, datum.count, null)"
        },
        {"calculate": "true", "as": "baseline"}
      ]
    },
    {
      "mark": {"type": "circle", "color": "red"},
      "transform": [
        {"filter": "datum.anomaly == true"},
        {"calculate": "true", "as": "baseline"}
      ]
    }
  ],
  "encoding": {
    "x": {
      "field": "dateTime",
      "type": "temporal",
      "timeUnit": "hoursminutesseconds",
      "sort": {"field": "dateTime", "op": "count", "order": "descending"},
      "axis": {"title": "Time", "grid": false}
    },
    "y": {
      "field": "count",
      "type": "quantitative",
      "axis": {"title": "Count", "grid": false}
    },
    "detail": {"field": "name", "type": "nominal"}
  }
}
0
ответ дан jakevdp 18 January 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: