- Notifications
You must be signed in to change notification settings - Fork0
svelte wrapper for chart.js
License
nstringham/svelte-chartjs
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Svelte wrapper forchart.js Open for PRs and contributions!
Install • Usage • Migration guide • Examples • Slack • Stack Overflow
Install this library with peer dependencies:
pnpm add svelte-chartjs chart.js# oryarn add svelte-chartjs chart.js# ornpm i svelte-chartjs chart.js
Need an API to fetch data? ConsiderCube, an open-source API for data apps.
<script>import {Line }from'svelte-chartjs'</script><Linedata={...} />
In order for Chart.js to obey the custom size you need to setmaintainAspectRatio to false, example:
<Linedata={data}width={100}height={50}options={{maintainAspectRatio:false }}/>
With v2, this library introduces a number of breaking changes. In order to improve performance, offer new features, and improve maintainability, it was necessary to break backwards compatibility, but we aimed to do so only when worth the benefit.
v1:
importLinefrom'svelte-chartjs/src/Line.svelte'
v2:
import{Line}from'svelte-chartjs'
v2 of this library,just like Chart.js v3, is tree-shakable. It means that you need to import and register the controllers, elements, scales, and plugins you want to use.
For a list of all the available items to import, seeChart.js docs.
v1:
importLinefrom'svelte-chartjs/src/Line.svelte'
v2 — lazy way:
import{Line}from'svelte-chartjs'import'chart.js/auto';
v2 — tree-shakable way:
import{Line}from'svelte-chartjs'import{ChartasChartJS,Title,Tooltip,Legend,LineElement,LinearScale,PointElement,CategoryScale}from'chart.js';ChartJS.register(Title,Tooltip,Legend,LineElement,LinearScale,PointElement,CategoryScale);
Using the "lazy way" is okay to simplify the migration, but please consider using the tree-shakable way to decrease the bundle size.
Please note that typed chart components register their controllers by default, so you don't need to register them by yourself. For example, when using the Pie component, you don't need to register PieController explicitly.
import{Pie}from'svelte-chartjs';import{ChartasChartJS,Title,Tooltip,Legend,ArcElement,CategoryScale}from'chart.js'ChartJS.register(Title,Tooltip,Legend,ArcElement,CategoryScale)
- Bar Chart
- Bubble Chart
- Doughnut Chart
- Line Chart
- Pie Chart
- PolarArea Chart
- Radar Chart
- Scatter Chart
- ChartJS instance
- Events handling
Full Documentation and demo for v1here
About
svelte wrapper for chart.js
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Languages
- TypeScript50.3%
- Svelte24.1%
- JavaScript21.6%
- HTML4.0%
