Radial Histogram
A day around a dial, drawn as a radial instrument: a tight tick ring just outside the hole, hour labels well outside the values, faint value rings, and bins that glow outward (dim at the root, full strength at the tip) as arc bars or columns of dots at even density.
$149 once · every Pro piece
Give it a “now” and later bins become the future: yesterday's values as hatched ghosts, with the scrubber resting on now and its dot breathing in the accent. Move around the centre and the scrubber springs to the pointer's angle (gradient, solid or dashed); the bin under it heats while the others step back, and the centre rolls to it on per-digit mass and rewrites itself as a sentence (“+18 vs yesterday”, “forecast 18:00”). Bins cascade outward clockwise on entry; arrow keys step bins; loading and empty states.
Install
npx shadcn@latest add @obsyde/radial-histogramNeeds your licence key · Get Pro
Usage
Import it from where the CLI puts it, or copy the files below by hand.
import { RadialHistogram } from '@/components/obsyde/ember/radial-histogram/RadialHistogram';
export function Example() {
return (
<RadialHistogram />
);
}
Files
What you get with Pro: plain React, TypeScript and CSS, with no dependencies.
ember/radial-histogram/RadialHistogram.tsxcomponentember/radial-histogram/radial-histogram.cssstylesember/radial-histogram/RadialHistogramDemo.tsxdemoember/viz-kit/viz-kit.csssharedember/viz-kit/size.tssharedember/viz-kit/shape.tssharedember/viz-kit/scale.tssharedember/viz-kit/roll.tssharedember/shared/rolling-number.csssharedember/shared/spring.tssharedember/shared/accent.tssharedember/viz-kit/patterns.tsxsharedember/viz-kit/motion.tssharedember/viz-kit/focus.tssharedember/shared/ember.csssharedember/viz-kit/touch.tsshared
API
| Prop | Type | Default |
|---|---|---|
accentAccent | 'ember' | 'volt' | 'arc' | 'ember' |
binsBins | '24' | '48' | '24' |
markMarks | 'bars' | 'dots' | 'bars' |
nowHourNow (hour, −1 off) | number | -1 |
compareCompare yesterday | boolean | false |
scrubberScrubber | 'gradient' | 'solid' | 'dashed' | 'none' | 'gradient' |
rampOutward ramp | boolean | true |
ringsValue rings | boolean | true |
innerHole | number | 0.36 |
sizeSize | number | 360 |
statusStatus | 'ready' | 'loading' | 'empty' | 'ready' |
seedSeed | number | 8 |