Referência

Referência da API

O namespace global KatuCharts cria gráficos e gerencia padrões; cada instância de gráfico expõe métodos para atualizar, exportar, inspecionar e descartar.

Global — KatuCharts

MétodoAssinatura → retornaDescrição
chartchart(containerOrId: string | HTMLElement, options) → ChartCria um gráfico no container (id ou nó DOM).
setOptionssetOptions(options) → voidDefine padrões globais herdados por gráficos posteriores.
getOptionsgetOptions() → Partial<Options>Lê os padrões globais atuais.
useuse(module) → voidRegistra um plugin/módulo com um método <code>install(KC)</code>.
dateFormatdateFormat(format: string, timestamp: number) → stringFormata um timestamp em ms (tokens abaixo).
numberFormatnumberFormat(value, decimals, decPoint?, thousandsSep?) → stringFormata um número; padrões '.' e ','.
colorcolor(input: string) → KatuChartsColorObjeto de cor encadeável: .brighten(n), .setOpacity(a), .toString().
palettesRecord<string, string[]>Mapa de nome de paleta → cores hex.
getPalettegetPalette(name: string) → string[]Cópia de uma paleta nomeada (lança se desconhecida).
setThemesetTheme(name: string) → voidAplica 'dark' | 'light' | 'nordic'.
SeriesRegistry.registerTyperegisterType(name, seriesClass) → voidRegistra um tipo de série personalizado.
SeriesRegistry.getTypegetType(name) → class | undefinedProcura uma classe de série registrada.

Tokens dateFormat

TokenSaídaExemplo
%YAno com quatro dígitos2026
%m / %dMês / dia com preenchimento de zero03 / 22
%H / %M / %SHoras (24h) / minutos / segundos14 / 05 / 09
%B / %ANome completo do mês / dia da semanaMarço / Domingo

Paletas e temas

20 paletas integradas: default, tableau10, d3classic, brewer, google, ocean, sunset, earth, forest, berry, corporate, minimal, nordic, darkMode, neon, pastel, soft, classic, tupi, monochrome. 18 temas (9 famílias, cada uma clara e escura) definem um fundo + paleta, por exemplo:

TemaFundoPaleta
dark#1a1f24monochrome
light#ffffffmonochrome
nordic#eceff4nordic
import KatuCharts from 'katucharts.js';
import 'katucharts.js/bio'; // modules register their chart types on import

KatuCharts.setTheme('dark');
KatuCharts.setOptions({ colors: KatuCharts.getPalette('sunset') });

const chart = KatuCharts.chart('container', {
  series: [{ type: 'volcano', data: [/* … */] }]
});

Instância — dados e layout

MétodoAssinatura → retornaDescrição
addSeriesaddSeries(options, redraw=true) → BaseSeriesAnexa uma série; redraw=false para lote.
getget(id) → BaseSeries | Axis | undefinedEncontra uma série ou eixo por id.
updateupdate(options, redraw=true) → voidMescla opções parciais (title, axes, series…).
addAxisaddAxis(options, isX=false, redraw=true) → AxisAdiciona um eixo em tempo de execução.
redrawredraw() → voidAplica alterações pendentes imediatamente.
animatedRedrawanimatedRedraw(duration=500) → voidRedesenha com uma transição.
reflowreflow() → voidRecalcula o layout para o tamanho atual do container.
setSizesetSize(width, height) → voidDefine dimensões em pixels e redesenha.
setTitlesetTitle(titleOptions?, subtitleOptions?) → voidAtualiza title/subtitle; null remove.

Instância — exportação, dados e UI

MétodoAssinatura → retornaDescrição
getSVGgetSVG() → stringMarkup SVG autossuficiente.
getCSVgetCSV() → stringDados como CSV.
getTablegetTable() → stringDados como uma string HTML <table>.
getDataRowsgetDataRows() → array[][]Array 2-D; primeira linha são cabeçalhos.
exportChartexportChart({ type, filename, width, scale })Baixa PNG/JPEG/SVG/PDF.
showLoadingshowLoading(text='Loading...') → voidMostra a sobreposição de carregamento.
hideLoadinghideLoading() → voidOculta a sobreposição de carregamento.
getSeriesInstancesgetSeriesInstances() → BaseSeries[]Todas as instâncias de série.
getXAxes / getYAxes→ Axis[]Instâncias de eixo X / Y (múltiplos eixos retornam muitos).
destroydestroy() → voidRemove do DOM e desvincula listeners — chame antes de remover o container.
chart.showLoading('Fetching data…');
fetch('/api/data').then(r => r.json()).then(data => {
  chart.addSeries({ data });
  chart.hideLoading();
});

chart.exportChart({ type: 'image/svg+xml', filename: 'report', width: 1200 });

// on teardown
chart.destroy();

Renderizador de plot

chart.plotRenderer expõe primitivas de baixo nível para formas personalizadas e anotações na área de plot.

MétodoAssinaturaDesenha
rectrect(x, y, width, height, attrs?)Retângulo
circle / ellipsecircle(cx, cy, r, attrs?) / ellipse(cx, cy, rx, ry, attrs?)Círculo / elipse
pathpath(d, attrs?)Caminho SVG a partir de uma string d
lineline(x1, y1, x2, y2, attrs?)Linha reta
texttext(str, x, y, attrs?)Rótulo de texto
groupgroup(attrs?)Grupo <g> para aninhamento

Helpers de coordenada: plotRenderer.plotArea → { x, y, width, height }; xAxis.toPixels(value) e yAxis.toPixels(value) convertem dados para pixels.

const [xAxis] = chart.getXAxes();
const [yAxis] = chart.getYAxes();
const plot = chart.plotRenderer.plotArea;

const yPx = yAxis.toPixels(6);
chart.plotRenderer.line(plot.x, yPx, plot.x + plot.width, yPx, {
  stroke: '#d62728', strokeWidth: 2, strokeDasharray: '6 3'
});
chart.plotRenderer.text('Target', plot.x + plot.width + 8, yPx + 4, {
  fill: '#d62728', fontSize: 12, fontWeight: 'bold'
});