Unovis
Modular data visualization framework for React, Angular, Svelte, Vue, and vanilla TypeScript or JavaScript
Install / Use
/learn @f5/UnovisREADME
https://user-images.githubusercontent.com/755708/205744216-5e9efd10-794b-4ce1-9aca-580c34fad193.mp4
🟨 Unovis is a modular data visualization framework for React, Angular, Svelte, Vue, Solid and vanilla TypeScript or JavaScript:
- 📈 🗺 It has charts, maps, network graphs, and more!
- 🌳 Tree-shakable and supports individual component imports to reduce your bundle size;
- 🎨 Highly customizable, thanks to the CSS-variables support.
Learn more about Unovis on unovis.dev
Quick Start
You can install the core of the library @unovis/ts and framework-specific packages (if you use React, Angular, Svelte, Vue or Solid) from NPM:
npm install -P @unovis/ts @unovis/<react|angular|svelte|vue|solid>
Now you can import components and create your first chart! Here's how to build a simple line chart uising Unovis and React:
import React, { useCallback } from 'react'
import { VisXYContainer, VisLine, VisAxis } from '@unovis/react'
type DataRecord = { x: number; y: number }
const data: DataRecord[] = [
{ x: 0, y: 0 },
{ x: 1, y: 2 },
{ x: 2, y: 1 },
]
export function BasicLineChart (): JSX.Element {
return (
<VisXYContainer data={data}>
<VisLine<DataRecord>
x={useCallback(d => d.x, [])}
y={useCallback(d => d.y, [])}
></VisLine>
<VisAxis type="x"></VisAxis>
<VisAxis type="y"></VisAxis>
</VisXYContainer>
)
}
Looking for Angular, Svelte, Vue, Solid or TypeScript examples? Check out the Quick Start page on our website.
Examples and Documentation
📖 Unovis has an extensive documentation with code snippets for React, Angular, Svelte and TypeScript.
🖼 Also there's a growing gallery of examples, from where you can copy the code over to your project or try it live on StackBlitz.
Repository structure
packages/tsCore TypeScript packagepackages/angularAngular componentspackages/reactReact componentspackages/svelteSvelte componentspackages/vueVue componentspackages/solidSolid componentspackages/websiteWebsite, docs and examples
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. For more information, please read CONTRIBUTING.
Maintainers
<img alt="Nikita Rokotyan" src="https://avatars.githubusercontent.com/u/755708" width="80"/> <img alt="Qian Liu" src="https://avatars.githubusercontent.com/u/5026041" width="80"/> <img alt="Surya Hanumandla" src="https://avatars.githubusercontent.com/u/7765847" width="80"/>
Contributors
<img alt="Rebecca Bol" src="https://avatars.githubusercontent.com/u/52078477" width="40"/> <img alt="Olga Stukova" src="https://avatars.githubusercontent.com/u/8654114" width="40"/> <img alt="Sumit Kumar" src="https://avatars.githubusercontent.com/u/5867393" width="40"/> <img alt="Gaurav Mukherjee" src="https://avatars.githubusercontent.com/u/6323787" width="40"/> <img alt="Beverly Ackah" src="https://avatars.githubusercontent.com/u/32556434" width="40"/> <img alt="Dmitriy Gutman" src="https://avatars.githubusercontent.com/u/14595706" width="40"/> <img alt="zernonia" src="https://avatars.githubusercontent.com/u/59365435" width="40"/> <img alt="Yann イーベス Eves" src="https://avatars.githubusercontent.com/u/1331877" width="40"/> <img alt="Michael" src="https://avatars.githubusercontent.com/u/15652018" width="40"/> <img alt="Josh Larsen" src="https://avatars.githubusercontent.com/u/2565382" width="40"/>
License
Unovis is licensed under Apache-2.0

