@chsk/core
v0.8.0
Published
Framework for building dynamic data visualizations
Downloads
255
Maintainers
Readme
@chsk/core
@chsk/core
is a data visualization framework for React. It provides tools
for customizable, extendable, and dynamic story-telling with data.
Features
The package provides React components that create commonly-used chart elements as scalable vector graphics (svg).
- Chart and view components provide the basic infrastructure to create svg graphics
- Axis components draw x- and y- axes
- Legend components provide support for legends with categorical items, color scales, and size scales
- Shape components display basic shapes, including rectangles, lines, and paths so that they may be animated
- Typography components handle text
- Tooltip components manage tooltips
In addition, @chsk/core
sets up infrastructure that allows for
customization and extension.
- Hooks provide a means for custom components to retrieve chart state
- Interactivity wrappers manage user interactions such as mouse events
- Milestone infrastructure enables toggling visibility of chart elements to support incremental story-telling
- Utility functions enable add-ons to re-use code related to chart state, scales, colors, etc.
- Typescript throughout the code base
Add-ons
While @chsk/core
provides infrastructure that is relevant to data
visualization in general, support for specific chart types is available
through add-on packages.
- @chsk/annotation provides miscellaneous elements that can be used to enrich base charts, e.g. arrows, labels, symbols, and markers
- @chsk/band creates charts with one categorical axis and one continuous axis, e.g. bar charts
- @chsk/matrix supports charts with two categorical axes, e.g. heat maps
- @chsk/polar supports charts using polar coordinates, e.g. pie charts
- @chsk/set generates Venn diagrams
- @chsk/themes provides a collection of objects that change chart look-and-feel
- @chs/xy creates charts with two continuous axes, e.g. scatter charts
Documentation
See here
Credits
@chsk/core
relies on react
for managing state and
framer-motion for animations.
It uses d3 libraries for
many visualization-related calculations and
lodash for general-purpose data processing.