Vista previa#
Composiciones en triángulo. 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, TernaryPlot } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<ChartTooltipPortal>
<TernaryPlot
points={/* … */}
ariaLabel="Ternary 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/ternary-plot.tsx)
import { ChartTooltipPortal, TernaryPlot } from "@carlos-burelo/klin";
export default function TernaryPlotDemo() {
return (
<ChartTooltipPortal>
<TernaryPlot
ariaLabel="Composición de suelos agrícolas por estado en arena, limo y arcilla, el norte es arenoso y el sureste arcilloso"
aLabel="Arena"
bLabel="Limo"
cLabel="Arcilla"
points={[
{ a: 60, b: 25, c: 15, label: "Sonora" },
{ a: 40, b: 35, c: 25, label: "Jalisco" },
{ a: 30, b: 40, c: 30, label: "Michoacán" },
{ a: 35, b: 25, c: 40, label: "Yucatán" },
{ a: 25, b: 30, c: 45, label: "Oaxaca" },
{ a: 20, b: 35, c: 45, label: "Chiapas" },
]}
/>
</ChartTooltipPortal>
);
}Props#
17 props · 2 requeridas
Tipo completo: TernaryPlotProps en ternary-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:
ternary-plot.tsx - Guías: SSR-first · Tema · Tooltip