Socket
Book a DemoInstallSign in
Socket

amcharts-nested-labels

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

amcharts-nested-labels

Library to add nested labels to amcharts axes

0.2.5
latest
Source
npmnpm
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

amcharts-nested-labels

Contributors License

Wrapper library to add nested labels to amcharts5 axes

NPM lib

Independent labels

independent label ref source code - codepen

Nested labels

nested label ref react source code - codesandbox

Prerequisites

  • this library is meant to be used on data vizualization with axes created using amcharts5

Usage

This library helps you to inject html in amcharts5 axes in a nested tree format as depicted in the sample image above

invoke createLabel with the required parameters to get nested axes labels

    import { createLabel } from 'amcharts-nested-labels'

    createLabel({
        xAxisRef, // instance of amcharts axes
        seriesRef, // instance of amcharts series created
        // Array containing all leaf node labels where arr[0]=first label & arr[end] = last label
        startEndLabels: string[],
        // string label to be used for new nested label,
        label: string,
        // pass delta Y to alter Y position of the new label
        dy?: (number) => number,
    });

NOTE - labels passed in startEndLabels must be individual bars in the chart plot, else labels will not be placed correctly

Motivation

I faced a challenge to create a similar label vizualization. Initially thought was to get x position of each bar and plot a label with html content(border)

Next challenge was calculating the html content width?

  • should it stick to bar width?
  • should it show the whole text content?
    • what if the text overflows the bar and take too much space?
  • finding x pos for each bar is expensive, can it be optimized?

Exploring solutions to the above, led me to axes range in a data viz libraries - amcharts axes

axes range - a range of values in the chart, can be a subset of the whole set of values

found a nifty answer to create nested labels using range and this library is product of the same!

Contributing

found the lib useful?

please create an issue to get the discussion started on any open bugs/feature requests

Keywords

javascript

FAQs

Package last updated on 18 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.