Skip to main content

🧩 AlpuraChartComponent

Componente Angular que renderiza gráficos interactivos.


📦 Selector

<alpura-chart
[data]="chartData"
height="400px"
[showLegend]="true"
title="Mi Gráfico"
(chartEvent)="onChartClick($event)"
></alpura-chart>

🧾 Inputs

NombreTipoPor defectoDescripción
dataIAlpuraChartundefinedObjeto que contiene los datos, tipo de gráfico y configuración.
heightstringn/aDefine la altura del contenedor del gráfico (ej. '400px', '70vh').
titlestringundefinedTítulo que se mostrará encima del gráfico.
showLegendbooleantrueControla si se muestra la leyenda del gráfico.
showTooltipsbooleantrueControla si se muestran los tooltips al pasar el mouse.
showDataLabelsbooleanfalseControla si se muestran las etiquetas de datos directamente sobre el gráfico.

📤 Outputs

NombreTipoDescripción
chartEventEventEmitter<IAlpuraChartEvent>Evento emitido al hacer clic en un punto o sección del gráfico.

Ejemplo de payload emitido por chartEvent:

{
label: string; // Etiqueta del dataset (ej. 'Ventas')
section: string; // Etiqueta del eje (ej. 'Enero')
indexValue: number; // Índice del dato (ej. 0)
value: unknown; // Valor del dato (ej. 65)
}

📊 Tipos soportados por IAlpuraChart

A continuación se muestran los tipos y variaciones de gráficos que puedes crear:

Gráficotype principalDescripción
Barra VerticalbarGráfico de barras estándar para comparaciones.
Barra HorizontalbarVariante horizontal, se activa con options.orientation.
Barras ApiladasbarApila datasets para mostrar partes de un total.
LíneaslineMuestra tendencias a lo largo del tiempo.
ÁrealineGráfico de líneas con el área bajo la curva rellena (fill: true).
Mixto (Barras y Líneas)barCombina datasets de tipo bar y line en un solo gráfico.
Circular (Pie)pieMuestra proporciones de un todo.
Dona (Doughnut)doughnutSimilar al circular, pero con un centro hueco.
Área PolarpolarAreaSimilar al circular, pero el valor se representa en el radio.
RadarradarCompara múltiples variables en un formato de telaraña.
BurbujasbubbleMuestra datos de tres dimensiones (x, y, tamaño).
DispersiónscatterMuestra la relación entre dos variables numéricas.
Tacómetro (Gauge)gaugeVariante de la dona para mostrar un valor en un rango.

Cada tipo tiene una estructura específica de datasets que incluye etiquetas, valores, y propiedades adicionales como fill, tension según corresponda.


✅ Buenas prácticas

  • Utiliza el evento chartEvent para responder a interacciones del usuario con el gráfico.
  • Siempre define etiquetas (labels) para mejorar la experiencia visual.
  • Asegúrate de cargar correctamente Chart.js antes de que se use este componente.

📘 Dependencias

  • Chart.js: Se espera que Chart esté disponible en window, por lo que debe cargarse globalmente.