simple-sparkline-chart v0.4.0
š Simple SparkLine Chart
A lightweight, customizable, and easy-to-use SparkLine chart library with tooltip and flexible options, written in TypeScript.
DEMO
CodePen š
Production š
Library
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.
š¦ Installation
Using npm:
npm install simple-sparkline-chart
Using CDN:
<script src="https://www.unpkg.com/simple-sparkline-chart"></script>
You can then use it via the global SimpleSparkLineChart:
<script>
new SimpleSparkLineChart(".chart");
</script>
š Usage
1ļøā£ Basic Example
<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.
2ļøā£ With Custom Options
<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>
š§ Data Attributes
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). |
š§āš» API
You can initialize the chart with the SimpleSparkLineChart constructor, and it automatically processes all matching elements.
Constructor
new SimpleSparkLineChart(selector: string);
- selector: A CSS selector string to target the elements where the chart will be rendered.
šØ Customization
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.
š Example of Object Data
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.
š„ CDN Usage
For quick usage without installing npm dependencies:
<script src="https://www.unpkg.com/simple-sparkline-chart"></script>
š§ Development
To build the project locally:
Install dependencies
npm install
Run the development server
npm start
Build the project
npm run build
Run tests
npm run test
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š¬ Feedback and Contributions
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! šāØ