Coder Social home page Coder Social logo

quisido / sparkline-svg Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 3.0 26 KB

Generate a Sparkline as an SVG.

Home Page: https://www.npmjs.com/package/sparkling-svg

License: MIT License

TypeScript 100.00%
sparkline svg javascript js sparklines sparkline-graphs graphs html data-uri

sparkline-svg's Introduction

Sparkline SVG version minzipped size downloads build

Generate a Sparkline as an SVG.

Install

  • npm install sparkline-svg or
  • yarn add sparkline-svg

Table of Contents

Use

The sparkline-svg package exports a Sparkline class, which can be constructed with or without an array of values used to generate the sparkline.

import Sparkline from 'sparkline-svg';

const sparkline= new Sparkline();
// or
const sparkline = new Sparkline(values);

get d(): string

sparkline.d returns the <path />'s d attribute for the sparkline (stroke) itself.

get dataUri(): string

sparkline.dataUri returns the sparkline SVG as a data URI, i.e. data:image/svg+xml;base64,.... This is particularly useful for CSS background images.

get outerHTML(): string

sparkline.outerHTML returns a string of the HTML for an SVG containing the sparkline.

setDecimals(decimals: number): this

Sets the number of decimal places used to generate the sparkline. A larger number of decimal places will result in better precision, but a larger file size.

Default: 4

setDesc(desc: string): this

Sets the description of the sparkline. Used to populate the <desc> element.

Default: 'A line graph representation of a value's change over time.'

setDescription(desc: string): this

Synonymous with setDesc.

setFill(fill: string): this

Sets the color of the area underneath the sparkline.

Default: 'transparent'

setHeight(height: string): this

Sets the height of the sparkline's SVG element. Not to be confused with setViewBoxHeight.

Default: '100%'

setPreserveAspectRatio(preserveAspectRatio: string): this

Sets the preserveAspectRatio attribute of the SVG element.

Default: 'none'

setStroke(stroke: string): this

Sets the color of the sparkline itself.

Default: 'currentColor'

setStrokeWidth(strokeWidth: number | string): this

Sets the width of the sparkline itself. If using a number, this will be relative to the view box height and width.

Default: '1%'

setTitle(title: string): this

Sets the title of the sparkline SVG by populating the <title> element. This is useful for accessibility purposes and often appears as a tooltip, similar to the title attribute on an anchor tag.

Default: 'Sparkline'

setValues(values: number[]): this

Sets the values used to generate the sparkline. These can also be provided in the constructor.

Default: []

setViewBoxHeight(viewBoxHeight: number): this

Sets the height of the sparkline's view box. Not to be confused with setHeight. The sparkline will always stretch to fit the view box.

Default: 100

setViewBoxWidth(viewBoxWidth: number): this

Sets the width of the sparkline's view box. Not to be confused with setWidth. The sparkline will always stretch to fit the view box.

Default: 100

setWidth(width: string): this

Sets the width of the sparkline's SVG element. Not to be confused with setViewBoxWidth.

Default: '100%'

Sponsor ๐Ÿ’—

If you are a fan of this project, you may become a sponsor via GitHub's Sponsors Program.

sparkline-svg's People

Contributors

dependabot-preview[bot] avatar quisido avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sparkline-svg's Issues

Accommodate stroke width in getD

Hey! Thanks for sharing this lib, it's awesome ๐Ÿค™

I noticed the apex of the stroke tends to be clipped. It's noticeable when it occurs in the middle of the sparkline. What do you think about adding some logic to getD to accommodate the stroke width?

CleanShot 2022-05-14 at 16 20 45@2x

CleanShot 2022-05-14 at 16 21 42@2x

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.