Coder Social home page Coder Social logo

amoradi / scintilla Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 7.4 MB

React sparklines ๐Ÿ“ˆ

Home Page: https://amoradi.github.io/scintilla

TypeScript 78.10% JavaScript 21.90%
scintilla react-sparklines-component plot react react-sparklines svg line-charts

scintilla's Introduction

scintilla โ†’ react sparklines

sparklines

Node.js CI


Demo

See: https://amoradi.github.io/scintilla

Donate:

  • BTC: bc1qejny2ddag2phmyndq78hq2uxuxkh38t5v4k9mt
  • ETH: 0x16cC9a598a3817F32c5B794C9391B14Ff93bd87e

Install

$ yarn add scintilla
$ or
$ npm install scintilla --save

Quick Start

import React from "react";
import { Frame, Line } from "scintilla";

const RedLine = () => (
  {/* wrap sparkline in a container to constrain width */}
  <div style={{ width: '100px' }}>
    <Frame>
      <Line
        data={[40, 50, 60, 70]}
        stroke={{
          color: { solid: [255, 0, 0, 1] },
          width: 2,
          style: "solid"
        }}
      />
    </Frame>
  <div>
);

Features

  • composeable: mix and match as many Line's within a single Frame
  • SVG-based
  • flexible intra-data color options
  • fluid width. Wrap Frame in your own container to constrain width.

API

See: https://amoradi.github.io/scintilla/documentation

Types

type Color = {
  gradient?: RGBA | RGBA[];
  solid?: RGBA | RGBA[];
};
type RGBA = [0-255, 0-255, 0-255, 0-1]
type Stroke = {
  width: number;
  style: "dash" | "solid";
  color: Color;
};

Components

<Frame />

Responsive container for all data-needy child components. Wrap Frame in your own container to constrain width.

  • height?: number Optionally specify height in pixels. Defaults to 50px.

  • yRange?: [min<number>, max<number>] Optionally plot children components with this y axis constraint.

Example

<div style={{ width: "100px" }}>
  <Frame height={100} yRange={[0, 500]}>
    <Line />
  </Frame>
</div>

<Line />

Plot your series data as a line. Style line with stroke, fill or both.

  • data: number[] The list of y data to plot.

  • stroke?: Stroke Set width in pixels, style as 'dash' or 'solid' and color option.

  • fill?: Color Solid or gradient fill, with one or many colors. Fills area from data line to bottom axis.

Example

<div style={{ width: "100px" }}>
  <Frame>
    <Line
      data={[-1, 2, 6, 9, 11, 21]}
      stroke={{
        width: 1,
        style: "dash",
        color: {
          solid: [
            [255, 0, 0, 0.25],
            [255, 0, 0, 0.5],
            [255, 0, 0, 0.1]
          ]
        }
      }}
      fill={{
        gradient: [
          [255, 0, 0, 0.1],
          [255, 0, 0, 1]
        ]
      }}
    />
  </Frame>
</div>

<Marker />

Circular marker positioned at data[index]. Make as many as you like.

  • data: number[] The list of y data Marker will render from.

  • color?: RGBA The rgba fill color. Defaults to red.

  • index?: number position marker at data[index]. If ommited, defaults to last index.

  • size?: number<1-10> Diameter of Marker circle in pixels. Defaults to 4px.

Example

<div style={{ width: "100px" }}>
  <Frame>
    <Line
      data={[-1, 2, 6, 9, 11, 21]}
      fill={{
        gradient: [
          [255, 0, 0, 0.1],
          [255, 0, 0, 1]
        ]
      }}
    />
    {/* 2 red markers, at 5th and last index */}
    <Marker
      data={[-1, 2, 6, 9, 11, 21]}
      color={[255, 0, 0, 1]}
      size={5}
      index={5}
    />
    <Marker data={[-1, 2, 6, 9, 11, 21]} color={[255, 0, 0, 1]} size={5} />
  </Frame>
</div>

Examples

See: https://amoradi.github.io/scintilla

License

MIT

scintilla's People

Contributors

amoradi avatar dependabot[bot] avatar wickedgenius avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

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.