Skip to content

Scatter Plot

Points on the viz-kit chart with a free pointer.

$149 once · every Pro piece

Customize

Point anywhere and the nearest point gets a quiet bone ring and a panel with its values; drag a rectangle to brush and the points inside run hot while the rest fall back, with n of N rolling in the header. In zoom mode the brush becomes the view and the axes tween to it; a double-click zooms back out. The arrow keys walk points left to right. Options: groups with a legend that isolates, hides and locks, depth of field (inactive points blur), rings, luminance by height, a deterministic jitter strip, an opt-in free crosshair with a y value pill, a trend line, a reference band, dot backgrounds, and loading and empty states.

Install

npx shadcn@latest add @obsyde/scatter-plot

Needs your licence key · Get Pro

Usage

Import it from where the CLI puts it, or copy the files below by hand.

import { ScatterPlot } from '@/components/obsyde/ember/scatter-plot/ScatterPlot';

export function Example() {
  return (
    <ScatterPlot shape="clusters" blur />
  );
}

Files

What you get with Pro: plain React, TypeScript and CSS, with no dependencies.

  • ember/scatter-plot/ScatterPlot.tsxcomponent
  • ember/scatter-plot/scatter-plot.cssstyles
  • ember/scatter-plot/ScatterPlotDemo.tsxdemo
  • ember/viz-kit/viz-kit.cssshared
  • ember/viz-kit/Tooltip.tsxshared
  • ember/viz-kit/focus.tsshared
  • ember/viz-kit/patterns.tsxshared
  • ember/viz-kit/roll.tsshared
  • ember/shared/rolling-number.cssshared
  • ember/shared/spring.tsshared
  • ember/shared/accent.tsshared
  • ember/viz-kit/scale.tsshared
  • ember/viz-kit/motion.tsshared
  • ember/viz-kit/chart.tsxshared
  • ember/shared/ember.cssshared
  • ember/viz-kit/touch.tsshared
  • ember/viz-kit/keyboard.tsshared
  • ember/viz-kit/size.tsshared
  • ember/viz-kit/States.tsxshared
  • ember/viz-kit/shape.tsshared
  • ember/viz-kit/Legend.tsxshared
  • ember/viz-kit/Grid.tsxshared
  • ember/viz-kit/Axis.tsxshared
  • ember/viz-kit/annotations.tsxshared

API

PropTypeDefault
accentAccent'ember' | 'volt' | 'arc''ember'
shapeShape'cloud' | 'clusters' | 'strip''cloud'
pointsPointsnumber300
markerMarker'dot' | 'ring''dot'
sizeDot size (0 = auto)number0
yGradientY gradientbooleanfalse
blurBlur inactivebooleanfalse
brushModeBrush'select' | 'zoom''select'
brushedBrushedbooleanfalse
trendTrend'none' | 'dashed' | 'gradient''none'
bandReference bandbooleanfalse
legendLegend'row' | 'none''row'
tooltipTooltip'panel' | 'none''panel'
crosshairCrosshair'none' | 'dashed''none'
backgroundBackground'grid' | 'dots' | 'none''grid'
statusStatus'ready' | 'loading' | 'empty''ready'
heightHeightnumber320
labelLabelstring'Scatter'
seedSeednumber5