Vista previa#
Barras y líneas con doble eje opcional. 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, ComboChart } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<ChartTooltipPortal>
<ComboChart
data={/* … */}
xKey={/* … */}
bars={/* … */}
lines={/* … */}
ariaLabel="Combo Chart"
/>
</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/combo-chart.tsx)
/**
* Demo Combo de barras y líneas del site (no se publica en el bundle de la lib).
*/
import { ChartTooltipPortal, ComboChart } from "@carlos-burelo/klin";
export default function ComboChartDemo() {
return (
<ChartTooltipPortal>
<ComboChart
ariaLabel="Gráfico combinado de ventas por canal y ticket medio por trimestre"
data={[
{ trimestre: "T1", linea: 420, tienda: 380, ticket: 45 },
{ trimestre: "T2", linea: 510, tienda: 400, ticket: 52 },
{ trimestre: "T3", linea: 480, tienda: 450, ticket: 48 },
{ trimestre: "T4", linea: 620, tienda: 530, ticket: 61 },
]}
xKey="trimestre"
bars={[
{ key: "linea", label: "En línea" },
{ key: "tienda", label: "Tienda" },
]}
lines={[{ key: "ticket", label: "Ticket medio" }]}
yAxisRight
/>
</ChartTooltipPortal>
);
}Props#
21 props · 5 requeridas
Tipo completo: ComboChartProps en combo-chart.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:
combo-chart.tsx - Guías: SSR-first · Tema · Tooltip