Огранка многоуровневого участка Vega-Lite Deneb

интересно, если бы вы могли помочь мне на ниже. Я использую Deneb для визуализации малых множителей в PBI и не могу понять, как добавить текстовые метки выше/ниже полосы. Никто не знает обходной путь случайно?

Вот код, который я использую до сих пор:

{
  "data": {"values": [
{"Region":"A","Month":"1","Difference":"-0.01"},
{"Region":"A","Month":"2","Difference":"0"},
{"Region":"A","Month":"3","Difference":"-0.03"},
{"Region":"A","Month":"4","Difference":"-0.01"},
{"Region":"A","Month":"5","Difference":"-0.01"},
{"Region":"A","Month":"6","Difference":"0.05"},
{"Region":"A","Month":"7","Difference":"-0.05"},
{"Region":"A","Month":"8","Difference":"-0.03"},
{"Region":"A","Month":"9","Difference":"0.03"},
{"Region":"A","Month":"10","Difference":"-0.01"},
{"Region":"A","Month":"11","Difference":"-0.01"},
{"Region":"A","Month":"12","Difference":"0.03"},
{"Region":"B","Month":"1","Difference":"-0.02"},
{"Region":"B","Month":"2","Difference":"-0.02"},
{"Region":"B","Month":"3","Difference":"0.02"},
{"Region":"B","Month":"4","Difference":"0.03"},
{"Region":"B","Month":"5","Difference":"-0.05"},
{"Region":"B","Month":"6","Difference":"-0.02"},
{"Region":"B","Month":"7","Difference":"-0.01"},
{"Region":"B","Month":"8","Difference":"0.03"},
{"Region":"B","Month":"9","Difference":"-0.03"},
{"Region":"B","Month":"10","Difference":"-0.03"},
{"Region":"B","Month":"11","Difference":"0.01"},
{"Region":"B","Month":"12","Difference":"-0.02"},
{"Region":"C","Month":"1","Difference":"-0.05"},
{"Region":"C","Month":"2","Difference":"-0.04"},
{"Region":"C","Month":"3","Difference":"-0.03"},
{"Region":"C","Month":"4","Difference":"0"},
{"Region":"C","Month":"5","Difference":"0"},
{"Region":"C","Month":"6","Difference":"-0.02"},
{"Region":"C","Month":"7","Difference":"-0.05"},
{"Region":"C","Month":"8","Difference":"0.02"},
{"Region":"C","Month":"9","Difference":"0"},
{"Region":"C","Month":"10","Difference":"-0.03"},
{"Region":"C","Month":"11","Difference":"-0.03"},
{"Region":"C","Month":"12","Difference":"0.02"},
{"Region":"D","Month":"1","Difference":"0.05"},
{"Region":"D","Month":"2","Difference":"-0.02"},
{"Region":"D","Month":"3","Difference":"-0.05"},
{"Region":"D","Month":"4","Difference":"-0.05"},
{"Region":"D","Month":"5","Difference":"0"},
{"Region":"D","Month":"6","Difference":"-0.01"},
{"Region":"D","Month":"7","Difference":"0.02"},
{"Region":"D","Month":"8","Difference":"-0.01"},
{"Region":"D","Month":"9","Difference":"0"},
{"Region":"D","Month":"10","Difference":"-0.01"},
{"Region":"D","Month":"11","Difference":"0.01"},
{"Region":"D","Month":"12","Difference":"-0.03"}
]},

  "mark": {
    "type": "bar",
    "stroke": "black",
    "opacity": 1,
    "cornerRadius": 2,
    "tooltip":true
  },
  "width": 440,
  "height": 75,
  "cornerRadius": 2,
  "encoding": {
    "facet": {
      "field": "Region",
      "type": "ordinal",
      "title": null,
      "columns": 2
    },
    "x": {
      "field": "Month",
      "type": "ordinal",
      "axis": {"labelAngle": 0}
    },
    "y": {
      "field": "Difference",
      "type": "quantitative",
      "axis": {
        "format": "0%",
        "formatType": "pbiFormat"
      }
    },
    "color": {
      "condition": {
        "test": "datum['Difference']<0",
        "value": "#F78272"
      },
      "value": "#F2C80F"
    },
    "text": {
      "field": "Difference",
      "type": "quantitative"
    }
  }
}

Спасибо заранее!

*edit1: добавлен желаемый результат *edit2: добавлен набор данных в код

Желаемый результат:

Можете ли вы опубликовать рабочую спецификацию VL с данными или .pbix с данными? Также отметьте предыдущие вопросы как решенные.

David Bacci 07.02.2023 09:53

Также неясно, каково ваше требование. Где вы хотите ярлыки. Можете ли вы предоставить фиктивное изображение?

David Bacci 07.02.2023 09:53

извините, я только что сделал это ... я все еще очень борюсь с пользовательским интерфейсом stackoverflow, привыкну к нему ... на самом деле .pbix большой (более 170 МБ), поэтому, если это необходимо, я могу сделать небольшую копию проблема .... Я добавил изображение желаемого результата в исходные сообщения, если это поможет ... большое спасибо :)

tomecsek 07.02.2023 10:15

Я понимаю. Это довольно просто сделать, но мне нужен образец файла для работы. Загрузите минимальный воспроизводимый пример на внешний сайт и оставьте ссылку.

David Bacci 07.02.2023 10:19
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
4
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как это?

{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "data": {
    "values": [
      {"Region": "A", "Month": "1", "Difference": "-0.01"},
      {"Region": "A", "Month": "2", "Difference": "0"},
      {"Region": "A", "Month": "3", "Difference": "-0.03"},
      {"Region": "A", "Month": "4", "Difference": "-0.01"},
      {"Region": "A", "Month": "5", "Difference": "-0.01"},
      {"Region": "A", "Month": "6", "Difference": "0.05"},
      {"Region": "A", "Month": "7", "Difference": "-0.05"},
      {"Region": "A", "Month": "8", "Difference": "-0.03"},
      {"Region": "A", "Month": "9", "Difference": "0.03"},
      {"Region": "A", "Month": "10", "Difference": "-0.01"},
      {"Region": "A", "Month": "11", "Difference": "-0.01"},
      {"Region": "A", "Month": "12", "Difference": "0.03"},
      {"Region": "B", "Month": "1", "Difference": "-0.02"},
      {"Region": "B", "Month": "2", "Difference": "-0.02"},
      {"Region": "B", "Month": "3", "Difference": "0.02"},
      {"Region": "B", "Month": "4", "Difference": "0.03"},
      {"Region": "B", "Month": "5", "Difference": "-0.05"},
      {"Region": "B", "Month": "6", "Difference": "-0.02"},
      {"Region": "B", "Month": "7", "Difference": "-0.01"},
      {"Region": "B", "Month": "8", "Difference": "0.03"},
      {"Region": "B", "Month": "9", "Difference": "-0.03"},
      {"Region": "B", "Month": "10", "Difference": "-0.03"},
      {"Region": "B", "Month": "11", "Difference": "0.01"},
      {"Region": "B", "Month": "12", "Difference": "-0.02"},
      {"Region": "C", "Month": "1", "Difference": "-0.05"},
      {"Region": "C", "Month": "2", "Difference": "-0.04"},
      {"Region": "C", "Month": "3", "Difference": "-0.03"},
      {"Region": "C", "Month": "4", "Difference": "0"},
      {"Region": "C", "Month": "5", "Difference": "0"},
      {"Region": "C", "Month": "6", "Difference": "-0.02"},
      {"Region": "C", "Month": "7", "Difference": "-0.05"},
      {"Region": "C", "Month": "8", "Difference": "0.02"},
      {"Region": "C", "Month": "9", "Difference": "0"},
      {"Region": "C", "Month": "10", "Difference": "-0.03"},
      {"Region": "C", "Month": "11", "Difference": "-0.03"},
      {"Region": "C", "Month": "12", "Difference": "0.02"},
      {"Region": "D", "Month": "1", "Difference": "0.05"},
      {"Region": "D", "Month": "2", "Difference": "-0.02"},
      {"Region": "D", "Month": "3", "Difference": "-0.05"},
      {"Region": "D", "Month": "4", "Difference": "-0.05"},
      {"Region": "D", "Month": "5", "Difference": "0"},
      {"Region": "D", "Month": "6", "Difference": "-0.01"},
      {"Region": "D", "Month": "7", "Difference": "0.02"},
      {"Region": "D", "Month": "8", "Difference": "-0.01"},
      {"Region": "D", "Month": "9", "Difference": "0"},
      {"Region": "D", "Month": "10", "Difference": "-0.01"},
      {"Region": "D", "Month": "11", "Difference": "0.01"},
      {"Region": "D", "Month": "12", "Difference": "-0.03"}
    ]
  },
  "spec": {
    "width": 440,
    "height": 75,
    "encoding": {
      "x": {"field": "Month", "type": "ordinal", "axis": {"labelAngle": 0}},
      "y": {
        "field": "Difference",
        "type": "quantitative",
        "axis": {"format": "0%", "formatType": "pbiFormat"}
      },
      "color": {
        "condition": {"test": "datum['Difference']<0", "value": "#F78272"},
        "value": "#F2C80F"
      }
    },
    "layer": [
      {
        "mark": {
          "type": "bar",
          "stroke": "black",
          "opacity": 1,
          "cornerRadius": 2,
          "tooltip": true
        }
      },
       {
      "mark": {
        "type": "text",
        
        "dy": {"expr": "datum.Difference < 0 ? 10 : -10"}
      },
      "encoding": {"text": {"field": "Difference", "type": "quantitative"}}
    }
    ]
  },
  "facet": {"field": "Region", "type": "ordinal", "title": null},
  "columns": 2
}

это просто офигенно гениальный человек! ты гений, спасибо большое! Я не знаю, откуда вы, но я определенно должен вам пару бутылок пива :)

tomecsek 07.02.2023 13:52

Другие вопросы по теме