A lightweight, customizable, and easy-to-use SparkLine chart library with tooltip and flexible options, written in TypeScript.
CodePen ๐
Production ๐
NPMJS ๐ฆ
UNPKG </>
GITHUB ๐ฎ
๐ Features
- ๐ฅ Lightweight - Small footprint and blazing fast rendering.
- ๐จ Customizable - Control colors, sizes, tooltips, and more.
- ๐ฏ TypeScript Support - Fully typed for better development experience.
- ๐ฆ Multiple Formats - Available as CommonJS, ESModule, and a global script for easy CDN usage.
npm install simple-sparkline-chart
<script src="https://www.unpkg.com/simple-sparkline-chart"></script>
You can then use it via the global SimpleSparkLineChart:
<script>
new SimpleSparkLineChart(".chart");
</script>
<div
class="sparkline"
data-values="1,2,3,4,5,6,7"
data-width="200"
data-height="40"
></div>
<script>
new SimpleSparkLineChart(".sparkline");
</script>
This will create a basic SparkLine chart using the specified data-values.
<div
class="sparkline"
data-values="0.5,1.5,2.3,3.8,2.9,3.4"
data-width="300"
data-height="60"
data-color-stroke="#00f"
data-filled="0.3"
data-tooltip="top"
data-aria-label="My SparkLine Chart"
></div>
<script>
new SimpleSparkLineChart(".sparkline");
</script>
Attribute | Type | Default | Description |
---|---|---|---|
data-values |
string | null (Required) |
A comma-separated list of values or JSON data to plot. |
data-width |
number | 200 |
The width of the chart in pixels. |
data-height |
number | Proportional to width | The height of the chart in pixels. Automatically calculated based on width, maintaining a proportional aspect ratio. |
data-color-stroke |
string | #8956ff |
The color of the chart line (stroke). |
data-filled |
number | (none) | Defines the opacity of the fill area under the line if set. If not provided, no fill is displayed. |
data-tooltip |
string | top |
Tooltip position: "top" or "bottom". Tooltip is enabled if this attribute is set. |
data-aria-label |
string | Simple SparkLine Chart |
Accessible label for the chart. |
data-locale |
string | User's locale | The locale used for formatting dates in tooltips (if using timestamp data). |
You can initialize the chart with the SimpleSparkLineChart constructor, and it automatically processes all matching elements.
new SimpleSparkLineChart(selector: string);
- selector: A CSS selector string to target the elements where the chart will be rendered.
You can customize the following:
- Stroke and Fill: Set your own colors for the line and the area below it with data-color-stroke and data-filled.
- Dimensions: Control the width and height of the chart using data-width and data-height.
- Tooltips: Enable or disable tooltips with data-tooltip, and adjust their position with data-tooltip-position.
You can pass an array of objects with timestamps and values:
<div
class="sparkline"
data-values='[
{"timestamp":1693526400000,"value":0.93},
{"timestamp":1693612800000,"value":0.9315}
]'
data-tooltip="top"
></div>
<script>
new SimpleSparkLineChart(".sparkline");
</script>
๐ Optimized for Performance
- Minimized for production: The library is optimized to deliver minimal JS overhead.
- Supports all modern browsers: Works in all major browsers including Chrome, Firefox, Safari, and Edge.
For quick usage without installing npm dependencies:
<script src="https://www.unpkg.com/simple-sparkline-chart"></script>
To build the project locally:
npm install
npm start
npm run build
npm run test
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to open an issue if you find a bug or have a feature request. Pull requests are welcome! ๐
Hope you enjoy using Simple SparkLine Chart! ๐โจ