Есть ли способ, которым мы можем скрыть бары, основываясь на их значениях как отрицательные / положительные? - PullRequest
0 голосов
/ 04 ноября 2019

Я использую LightningChartJS для создания диаграммы с барами. У меня есть данные как с положительными, так и с отрицательными значениями. Есть ли какое-либо доступное свойство, с помощью которого я могу скрывать отрицательные или положительные столбцы в зависимости от того, что я хочу видеть?

Примечание. Очевидно, что я могу написать некоторую базовую логику для достижения этой функции, но я ищу некоторые встроенные функции.

const rectangles = chart.addRectangleSeries()
const addValues = (entries) => {
      for (const entry of entries) {
        bars.push(add(entry))
      }
}


const add = (entry) => {
      // Create rect dimentions.
      const rectDimensions = {
        x: x - figureThickness,
        y: 0,
        width: figureThickness,
        height: entry.value
      }
      // Add rect to the series.
      x += figureThickness + figureGap
      // Return data-structure with both original 'entry' and the rectangle figure that represents it.
      return {
        entry,
        rect
      }
    }

    chart.addValues([
  { category: '', value: 20 },
  { category: '', value: 40 },
  { category: '', value: -23 },
  { category: '', value: -29 },
  { category: '', value: 15 }
])

1 Ответ

2 голосов
/ 05 ноября 2019

Чтобы скрыть серии / цифры, основанные на значении, вам необходимо реализовать эту логику на стороне приложения.

Для этого у вас есть две опции:

  1. Отдельностолбцы для двух RectangleSeries, один из которых имеет положительные значения, а другой - отрицательные.

  2. Используйте только один RectangleSeries, как сейчас, но стилизуйте каждую фигуру индивидуально. Вы получаете ссылку на рисунок, когда добавляете прямоугольник с помощью RectangleSeries.add ().

В любом случае вам придется избавиться от скрытых серий / фигур, которые вы не хотите видеть и восстанавливать то, что хотите видеть. И RectangleSeries, и figure имеют методы dispose () и restore ().

...