Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@keyvaluesystems/react-scatter-graph

Package Overview
Dependencies
Maintainers
6
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@keyvaluesystems/react-scatter-graph

A fully customizable react scatter graph

  • 0.0.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
14
increased by133.33%
Maintainers
6
Weekly downloads
 
Created
Source

React Scatter Graph

npm version

A fully customizable ready to use scatter graph UI package for React. Try tweaking React Scatter Graph using this codesandbox link here

Installation

npm install @keyvaluesystems/react-scatter-graph

You’ll need to install React separately since it isn't included in the package.

Usage

React Scatter Graph can run in a very basic mode like this:

import React, { useState } from 'react';
import ReactScatterGraph from '@keyvaluesystems/react-scatter-graph';

function App() {
  data = [
    { x: 450, y: 150 },
    { x: 360, y: 330 },
    { x: 650, y: 315 },
    { x: 270, y: 200 }
  ];

  return <ScatterGraph data={data} yMax={500} xMax={600} yInterval={50} xInterval={50} graphHeight={500} />;
}

export default App;

The data array is an array of objects with { x, y } cordinates.

Note: The graph width is responsive. So it can be adjusted by a parent wrapper. You need to provide the height.

React Scatter Graph for date inputs:

Scatter graph is a useful tool for plotting date values. In order to do so, timestamps must be provided for the x-axis values.

import  React,  {  useState  }  from  'react';
import ReactScatterGraph from '@keyvaluesystems/react-scatter-graph';

function  App()  {  
  data = [
    // x given in milliseconds curresponding to the date
    { x: 1672876800000, y: 150 },
    { x: 1673568000000, y: 330 },
    { x: 1674086400000, y: 315 },
    { x: 1673222400000, y: 200}
  ];

  return (
    <ScatterGraph
      data={data}
      yMax={500}
      xMax={1674172800000}
      xMin={1672531200000}
      yInterval={50}
      // x interval given in milliseconds curresponding to a particular date period.
      xInterval={172800000}
      graphHeight={500}
    />
  );
}

export default App;

Props

Props that can be passed to the component are listed below:

PropDescriptionDefault
data: object[]An array of x-y cordinates to render.undefined
yMin?: numberMinimum value of Y - axis.0
yMax: numberMaximum value of Y - axis.undefuned
xMin?: numberMinimum value of X - axis.0
xMax: numberMaximum value of X - axis.undefuned
xInterval: numberInterval value X - axis.undefuned
yInterval: numberInterval value Y - axis.undefuned
graphHeight: numberHeight of graph in pixelundefuned
axesColor: stringColor for the x and y axes color which indicates the lines that are used to measure data#9E9E9E
originAxisColor: stringColor for the origin axis color#9E9E9E
renderYLabel?: (arg: number | string): string Render function for customizing Y axis label undefined
renderXLabel?: (arg: number | string): string Render function for customizing X axis label undefined
scatterPointColor?: (arg: { x: number, y: number }): string Function for customizing scatter point color. Based on the args, we can customise the color. Return value should be the color hash / string. undefined
renderValuebox?: (x: number, y: number): ReactElement Render function for customizing the value box shown on hover. undefined

Keywords

FAQs

Package last updated on 28 Mar 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc