scatter-plot — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited scatter-plot (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Scatter plot with configurable point size, color, custom symbols, and optional bubble sizing. Supports time, value, and category axes with brush, zoom/pan, and value markers.
import { ScatterPlot, ScatterSeries, ScatterPoint } from 'reaviz';| Prop | Type | Default | Description | |
|---|---|---|---|---|
data | ChartShallowDataShape[] | [] | Chart data | |
width | number | auto | Width in pixels | |
height | number | auto | Height in pixels | |
margins | Margins | — | Chart margins | |
series | ReactElement<ScatterSeriesProps> | <ScatterSeries /> | Series component | |
xAxis | ReactElement<LinearAxisProps> | <LinearXAxis type="time" /> | X axis component | |
yAxis | ReactElement<LinearAxisProps> | <LinearYAxis type="value" /> | Y axis component | |
gridlines | `ReactElement \ | null` | <GridlineSeries /> | Gridlines (null to hide) |
brush | `ReactElement \ | null` | null | Brush selection component |
zoomPan | `ReactElement \ | null` | null | Zoom/pan component |
secondaryAxis | ReactElement[] | — | Additional axis components | |
className | string | — | SVG CSS class | |
containerClassName | string | — | Container div CSS class |
| Prop | Type | Default | Description | |
|---|---|---|---|---|
point | ReactElement<ScatterPointProps> | <ScatterPoint /> | Point element | |
animated | boolean | true | Enable animations | |
activeIds | string[] | — | Active element IDs to highlight | |
valueMarkers | `ReactElement<LinearValueMarkerProps>[] \ | null` | — | Reference lines at specific values |
| Prop | Type | Default | Description | |
|---|---|---|---|---|
size | `number \ | (data) => number` | 4 | Point radius (or function for bubble sizing) |
color | ColorSchemeType | schemes.cybertron[0] | Point color (string, array, or function) | |
cursor | string | 'pointer' | CSS cursor on hover | |
animated | boolean | true | Enable animations | |
tooltip | `ReactElement<ChartTooltipProps> \ | null` | <ChartTooltip /> | Tooltip component |
glow | Glow | — | Glow effect | |
symbol | (data) => ReactNode | — | Custom symbol renderer (replaces circle) | |
visible | (data, index) => boolean | — | Conditional visibility per point | |
onClick | (data) => void | — | Click handler | |
onMouseEnter | (data) => void | — | Mouse enter handler | |
onMouseLeave | (data) => void | — | Mouse leave handler | |
className | string | — | CSS class | |
style | any | — | Inline styles |
const data = [
{ key: new Date('2024-01-01'), data: 10 },
{ key: new Date('2024-02-01'), data: 25 },
{ key: new Date('2024-03-01'), data: 18 },
];
<ScatterPlot
height={400}
width={750}
data={data}
/><ScatterPlot
height={400}
width={750}
data={data}
margins={20}
series={
<ScatterSeries
point={
<ScatterPoint
color="rgba(45, 96, 232, 0.8)"
size={(v) => v.metadata.severity + 5}
/>
}
/>
}
/><ScatterPlot
data={data}
series={
<ScatterSeries
point={<ScatterPoint color="#FF5722" size={6} />}
/>
}
/>import { symbol, symbolStar } from 'd3-shape';
<ScatterPlot
data={data}
series={
<ScatterSeries
point={
<ScatterPoint
symbol={() => {
const d = symbol().type(symbolStar).size(175)();
return (
<path
d={d}
style={{ fill: 'lime', stroke: 'purple', strokeWidth: 1.5 }}
/>
);
}}
/>
}
/>
}
/>import { LinearValueMarker } from 'reaviz';
<ScatterPlot
data={data}
series={
<ScatterSeries
point={<ScatterPoint color={schemes.cybertron[0]} size={4} />}
valueMarkers={[
<LinearValueMarker value={2} color="#D740BE" />,
<LinearValueMarker value={5} color="#F8A340" />,
]}
/>
}
/>const stages = ['Stage 1', 'Stage 2', 'Stage 3'];
<ScatterPlot
data={data}
yAxis={
<LinearYAxis
type="category"
domain={stages}
/>
}
/><ScatterPlot
data={data}
series={
<ScatterSeries
point={
<ScatterPoint
onClick={(d) => console.log(d)}
/>
}
/>
}
/><ScatterPlot
data={data}
series={
<ScatterSeries
point={
<ScatterPoint
visible={(d) => d.value > 10}
/>
}
/>
}
/><ScatterPlot data={data} gridlines={null} />'pointer' (unlike other chart types that default to 'auto')size accepts a function for bubble-chart behavior — receives the data point, return a radiussymbol replaces the default circle with any SVG element (D3 symbols, icons, etc.)visible callback allows filtering individual points without modifying datacolor supports ColorSchemeType: a single color string, an array, or a (data, index) => string function~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.