End user managed Tick. Custom ticks are just like default ticks, except they can be completely controlled by the end user.

For example, their position, text, text fill style, gridline style, etc. everything can be customized. They can be created whenever and destroyed whenever.

This definition of Custom Tick is abstract, meaning that it is not tied to any specific chart type. See specific implementations:

Hierarchy

Properties

getVisible: (() => boolean)

Type declaration

    • (): boolean
    • Get element visibility.

      Returns

      true when element is set to be visible and false otherwise.

      Returns boolean

setVisible: ((state: boolean) => AbstractCustomTick)

Type declaration

    • (state: boolean): AbstractCustomTick
    • Set element visibility.

      Parameters

      • state: boolean

        true when element should be visible and false when element should be hidden.

      Returns AbstractCustomTick

Methods

  • Add callback function to be triggered when specified event is fired.

     // Example syntax
    object.addEventListener('click', (event) => {
    console.log(event)
    })

    Some classes also report extra information about the interacted object with the second parameter:

     // Most series share information about interacted data point
    series.addEventListener('click', (event, info) => {
    console.log(info)
    })

    Optional third parameter allows registering event handlers that will automatically remove themselves after first trigger:

     // Example this listener will only fire once
    object.addEventListener('click', (event) => {})

    Each class has its own list of supported events. Some events are from HTML standard (click, pointerdown, etc.), while others are own events from LightningChart JS (dispose, resize, etc.)

    To find what events are available, you can try following:

    • If your development environment has TypeScript enabled, just write addEventListener and see what possible event types the IDE suggests. These APIs are strongly typed, and even the callback event will be correctly typed.
    • Otherwise, open the class section in API documentation and check out which interface K type parameter extends.

    Parameters

    • type: "dispose"
    • listener: ((event: DisposeEvent, info: unknown) => unknown)

      Callback function that is triggered when event is fired.

    • Optional options: LCJSAddEventListenerOptions

      Optional extra configuration options.

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Get style of custom ticks gridline.

    Returns

    LineStyle

    Returns LineStyle

  • Get mouse interactions enabled or disabled.

    Returns

    Mouse interactions state

    Returns boolean

  • Get fill style of custom ticks text.

    Returns

    FillStyle

    Returns FillStyle

  • Get padding between CustomTick tickline and text.

    Returns

    Padding as pixels

    Returns number

  • Get custom tick text rotation as degrees.

    Returns

    Rotation as degrees.

    Returns number

  • Get tickline length as pixels.

    Returns

    Tickline length as pixels.

    Returns number

  • Get style of custom ticks tickline.

    Returns

    LineStyle

    Returns LineStyle

  • Get location of custom tick on its Axis.

    Returns

    Location on axis.

    Returns number

  • Check whether the object is disposed. Disposed objects should not be used!

    Returns

    true if object is disposed.

    Returns boolean

  • Remove event listener added using addEventListener. The expected argument should be the exact same callback function that was supplied using addEventListener:

     // Basic example syntax
    const listener = () => {}
    obj.addEventListener('click', listener)
    obj.removeEventListener('click', listener)
     // Basic boilerplate of custom interaction when user drags on an object
    obj.addEventListener('pointerdown', (eventDown) => {
    let prevCoord = eventDown
    const handlePointerMove: LCJSInteractionEventListener<'pointermove'> = (eventMove) => {
    const delta = { x: eventMove.clientX - prevCoord.clientX, y: eventMove.clientY - prevCoord.clientY }
    prevCoord = eventMove
    console.log(delta, eventMove.clientX, eventMove.clientY)
    }
    const handlePointerUp: LCJSInteractionEventListener<'pointerup'> = (eventUp) => {
    window.removeEventListener('pointermove', handlePointerMove)
    window.removeEventListener('pointerup', handlePointerUp)
    }
    window.addEventListener('pointermove', handlePointerMove)
    window.addEventListener('pointerup', handlePointerUp)
    })

    Parameters

    • type: "dispose"
    • listener: ((event: DisposeEvent, info: unknown) => unknown)

      Listener that was added using addEventListener.

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Set style of custom ticks gridline. This line highlights the tick location under the series area.

     // Example syntax, specify LineStyle
    CustomTick.setGridStrokeStyle(new SolidLine({
    thickness: 2,
    fillStyle: new SolidFill({ color: ColorHEX('#F00') })
    }))
     // Example syntax, change thickness only
    CustomTick.setGridStrokeStyle((stroke) => new SolidLine({ ...stroke, thickness: 5 }))
     // Example syntax, disable stroke
    CustomTick.setGridStrokeStyle(emptyLine)

    Returns

    Object itself.

    Parameters

    Returns AbstractCustomTick

  • Set component mouse interactions enabled or disabled.

    Disabling mouse interactions means that the objects below this component can be interacted through it.

    Returns

    Object itself for fluent interface

    Parameters

    • state: boolean

      Specifies state of mouse interactions

    Returns AbstractCustomTick

  • Set text formatting of custom tick as a callback function.

     // Example usage
    CustomTick.setTextFormatter((value) => `Custom tick at ${value.toFixed(1)}`)

    The supplied callback function is called with the current axis location of the custom tick. To provide hard defined text, just ignore the value.

     // Example, hard defined custom tick text.
    CustomTick.setTextFormatter(() => `My tick text`)

    Returns

    Object itself

    Parameters

    • textFormatter: ((value: number) => string)

      Callback function which returns custom tick text as string.

        • (value: number): string
        • Parameters

          • value: number

          Returns string

    Returns AbstractCustomTick

  • Set padding between CustomTick tickline and text.

     // Example usage
    CustomTick.setTextPadding(5)

    Returns

    Object itself

    Parameters

    • padding: number

      Padding as pixels

    Returns AbstractCustomTick

  • Set custom tick text rotation as degrees.

     // Example usage
    CustomTick.setTextRotation(90)

    Returns

    Object itself

    Parameters

    • value: number

      Rotation as degrees.

    Returns AbstractCustomTick

  • Set tickline length as pixels.

     // Example usage
    CustomTick.setTickLength(5)

    Returns

    Object itself

    Parameters

    • length: number

      Tickline length as pixels

    Returns AbstractCustomTick

  • Set style of custom ticks tickline. This line connects the text to its Axis, generally a very short line (6 pixels, or so).

     // Example syntax, specify LineStyle
    CustomTick.setTickStyle(new SolidLine({
    thickness: 2,
    fillStyle: new SolidFill({ color: ColorHEX('#F00') })
    }))
     // Example syntax, change thickness only
    CustomTick.setTickStyle((stroke) => new SolidLine({ ...stroke, thickness: 5 }))
     // Example syntax, disable stroke
    CustomTick.setTickStyle(emptyLine)

    Returns

    Object itself.

    Parameters

    Returns AbstractCustomTick

  • Set location of custom tick on its Axis.

     // Example usage
    CustomTick.setValue(5)

    Returns

    Object itself

    Parameters

    • value: number

      Location on axis.

    Returns AbstractCustomTick