svelte-tiny-linked-charts
TypeScript icon, indicating that this package has built-in type declarations

1.6.0 • Public • Published

Tiny Linked Charts for Svelte

tests passing npm version npm downloads MadeWithSvelte.com shield bundle size

This is a library to display tiny bar charts. These charts are more so meant for graphic aids, rather than scientific representations. There's no axis labels, no extensive data visualisation, just bars.

Demo and Docs: https://mitcheljager.github.io/svelte-tiny-linked-charts/

Installation

Install using Yarn or NPM.

yarn add svelte-tiny-linked-charts --dev
npm install svelte-tiny-linked-charts --save-dev

Include the chart in your app.

import { LinkedChart, LinkedLabel, LinkedValue } from "svelte-tiny-linked-charts"
<LinkedChart />
<LinkedLabel />
<LinkedValue />

Supply your data in a simple key:value object:

let data = {
  "2005-01-01": 25,
  "2005-01-02": 20,
  "2005-01-03": 18,
  "2005-01-04": 17,
  "2005-01-05": 21
}
<LinkedChart { data } />

Or if you prefer supply the labels and values separately:

let labels = [
  "2005-01-01",
  "2005-01-02",
  "2005-01-03",
  "2005-01-04",
  "2005-01-05"
]
let values = [
  25,
  20,
  18,
  17,
  21
]
<LinkedChart { labels } { values } />

Usage

For detailed documentation on every property check out: https://mitcheljager.github.io/svelte-tiny-linked-charts/

Configuration

<LinkedChart /> component.

Property Default Description
data {} Data that will be displayed in the chart supplied in key:value object.
labels [] Labels supplied separately, to be used together with "values" property.
values [] Values supplied separately, to be used together with "labels" property.
linked Key to link this chart to other charts with the same key.
uid Unique ID to link this chart to a LinkedValue component with the same uid.
height 40 Height of the chart in pixels.
width 150 Width of the chart in pixels.
barMinWidth 4 Width of the bars in the chart in pixels.
barMinHeight 0 Minimum height of the bars in the chart in pixels.
hideBarBelow 0 Bars below this value will be hidden, showing as 0 height.
grow false Whether or not the bar should grow to fill out the full width of the chart.
align right The side the bars should align to when they do not completely fill out the chart.
gap 1 Gap between the bars in pixels.
fill #ff3e00 Color of the bars, can be any valid CSS color.
fadeOpacity 0.5 The opacity the faded out bars should display in.
hover true Boolean whether or not this chart can be hovered at all.
transition 0 Transition the chart between different stats. Value is time in milliseconds.
showValue false Boolean whether or not a value will be shown.
valueDefault "&nbsp;" Default value when not hovering.
valueUndefined 0 For when the hovering value returns undefined.
valuePrepend String to prepend the value.
valueAppend String to append to the value.
valuePosition static Can be set to "floating" to follow the position of the hover.
scaleMax 0 Use this to overwrite the automatic scale set to the highest value in your array.
scaleMax 0 Use this to overwrite the default value floor of 0.
type bar Can be set to "line" to display a line chart instead.
lineColor fill Color of the line if used with type="line".
tabindex -1 Sets the tabindex of each bar.
preserveAspectRatio false Sets whether or not the SVG will preserve it's aspect ratio
dispatchEvents false Boolean whether or not to dispatch events on certain actions.
clickHandler null Function that executes on click and returns the key and index for the clicked data.

<LinkedLabel /> component.

Property Default Description
linked Key to link this label to charts with the same key.
empty &nbsp; String that will be displayed when no bar is being hovered.
transform (label) => label Transform the given label to format it differently from how it was supplied.

<LinkedValue /> component.

Property Default Description
uid Unique ID to link this value to a chart with the same uid.
empty &nbsp; String that will be displayed when no bar is being hovered.
valueUndefined 0 For when the hovering value returns undefined.
transform (value) => value Transform the given value to format it differently from how it was supplied.

Package Sidebar

Install

npm i svelte-tiny-linked-charts

Weekly Downloads

4,128

Version

1.6.0

License

none

Unpacked Size

19 kB

Total Files

12

Last publish

Collaborators

  • mitcheljager