Как выровнять текстовое поле uielement над строкой, сделанной с использованием линий

Я использую LightningChartJs и добавляю текстовое поле UIElement. Я хотел бы разместить его над линейным рядом, но когда я задаю масштаб линейного ряда в addUIElement, он не отображается.

chart.addUIElement(UIElementBuilders.TextBox,myseries.scale).setText('test')

person Yash.S.Narang    schedule 16.07.2020    source источник


Ответы (1)


Когда вы используете масштаб другого ряда, позиционирование UIElement выполняется с использованием координат ряда. По умолчанию UIElement будет расположен в координате 0,0. Если ваша серия строк не показывает эту координату, то UIElement будет вне поля зрения.

Так что, если у вас есть строка от 10,10 до 20,20 и вы не установили позицию UIElement, то вы, скорее всего, не увидите UIElement, поскольку он расположен в позиции 0,0. В этом случае вы должны установить позицию UIElement в диапазоне 10,10-20,20. uiElement.setPosition({x: 12, y:12 })

См. фрагмент кода ниже для рабочего примера.

const {
    lightningChart,
    UIElementBuilders
} = lcjs

const chart = lightningChart().ChartXY()

const series = chart.addLineSeries()

series.addArrayY([1, 2, 1, 3, 2, 2, 3, 2, 1])

// add text box on the chart, using series scale
const textOverLine = chart.addUIElement(UIElementBuilders.TextBox, series.scale)
    .setText('My Text')
    // position the text, this is in the line series coordinates
    .setPosition({ x: 4.5, y: 2.1 })
<script src="https://unpkg.com/@arction/[email protected]/dist/lcjs.iife.js"></script>

person Snekw    schedule 16.07.2020