Vista previa#
Puntos XY con negativos. Demo completa con datos realistas, renderizada en el servidor. Más abajo están las configuraciones, una por una.
Ejemplos#
Todas las configuraciones del componente, cada una viva y con datos propios. Cambia entre Preview y Code en cada tarjeta y copia lo que necesites.
Uso#
Ejemplo mínimo con las props requeridas. Copia, pega y cambia los datos:
import { ChartTooltipPortal, ScatterPlot } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<ChartTooltipPortal>
<ScatterPlot
points={/* … */}
ariaLabel="Scatter Plot"
/>
</ChartTooltipPortal>La gráfica es función pura de props a SVG: el HTML llega renderizado y sin JS se ve completa.
Envuelve en ChartTooltipPortal solo si quieres tooltip rico; sin JS queda \<title\> nativo.
Lee la guía /docs/ssr-first una vez y listo.
Código de esta demo#
Ver fuente (src/demos/scatter-plot.tsx)
import { ChartTooltipPortal, ScatterPlot } from "@carlos-burelo/klin";
/** Relación entre horas de estudio y calificación por estudiante. */
export default function ScatterPlotDemo() {
return (
<ChartTooltipPortal>
<ScatterPlot
ariaLabel="Dispersión de horas de estudio frente a calificación"
xLabel="Horas de estudio"
yLabel="Calificación"
points={[
{ label: "Ana", x: 12, y: 9.1 },
{ label: "Bruno", x: 4, y: 6.2 },
{ label: "Carla", x: 8, y: 8.0 },
{ label: "Diego", x: 2, y: 5.4 },
{ label: "Elena", x: 10, y: 8.7 },
{ label: "Fabián", x: 6, y: 7.3 },
{ label: "Greta", x: 14, y: 9.5 },
{ label: "Hugo", x: 5, y: 6.8 },
{ label: "Irene", x: 9, y: 8.2 },
{ label: "Jorge", x: 3, y: 5.9 },
{ label: "Karla", x: 11, y: 8.9 },
{ label: "Luis", x: 7, y: 7.6 },
]}
/>
</ChartTooltipPortal>
);
}Props#
15 props · 2 requeridas
Tipo completo: ScatterPlotProps en scatter-plot.tsx.
Accesibilidad#
- Toda gráfica exige
ariaLabeldescriptivo; el SVG usarole="img"con\<title\>. - Cada forma lleva
\<title\>nativo (tooltip sin JS) ydata-chart-tippara el portal rico. - Sin datos se renderiza estado vacío homogéneo (
ChartEmpty), nunca SVG roto. - Detalle del contrato en /docs/accesibilidad.
Recursos#
- Fuente del componente:
scatter-plot.tsx - Guías: SSR-first · Tema · Tooltip