Vitral 0.2
Gráficos

29 gráficos, desenhados sem nenhuma dependência

Um motor SVG, sem biblioteca de plotagem por baixo, guiado pelo objeto de opções que o ApexCharts tornou familiar. Tudo o que é visual é dado puro, então sobrevive a JSON e uma tela de configurações pode escrevê-lo. Cada gráfico recebe um nome a partir de um resumo gerado com os próprios dados, e sua área de plotagem recebe foco: as setas do teclado o leem ponto a ponto.

Ao longo do tempo

Line

type="line"
Gráfico de Linhas, 1 séries: Visitors. Visitors, 12 pontos de 310 a 980. de Jan a Dec

Um valor enquanto se move. O primeiro gráfico a que recorrer, e aquele que o leitor nunca precisa aprender a ler.

Line, several series

type="line"
Gráfico de Linhas, 3 séries: API, Web, Jobs. API, 12 pontos de 120 a 330. Web, 12 pontos de 80 a 220. Jobs, 12 pontos de 28 a 60. de Jan a Dec

Duas ou três linhas comparam formas. Passando de quatro, o gráfico vira um nó e pequenos múltiplos se leem melhor.

Area, stacked

type="area"
Gráfico de Área, 3 séries: API, Web, Jobs. API, 12 pontos de 120 a 330. Web, 12 pontos de 80 a 220. Jobs, 12 pontos de 28 a 60. de Jan a Dec

Um total ao longo do tempo, e do que ele é feito. Empilhado, a borda de cima é o total; sem empilhar, os preenchimentos se sobrepõem e enganam.

Range area

type="rangeArea"
Gráfico de Área de intervalo, 1 séries: Forecast. Forecast, 12 pontos de 70 a 136. de Jan a Dec

A faixa entre um mínimo e um máximo, mês a mês: a margem de uma previsão, ou a variação do dia. Um preenchimento, duas bordas.

Stream

type="stream"
Gráfico de Fluxo, 5 séries: Search, Direct, Social, Mail, Referral. Search, 12 pontos de 30 a 66. Direct, 12 pontos de 27 a 70. Social, 12 pontos de 36 a 89. Mail, 12 pontos de 33 a 77. Referral, 12 pontos de 36 a 89. de Jan a Dec

Uma área empilhada flutuando sobre uma linha de base própria. As faixas dividem o movimento em vez de a de baixo carregá-lo sozinha, e é isso que torna a forma legível.

Bars and a line

type="bar"
Gráfico de Barras, 2 séries: Revenue, Margin. Revenue, 12 pontos de 22 a 81. Margin, 12 pontos de 9 a 22. de Jan a Dec

Duas marcas num só gráfico: a quantidade em barras, a taxa em linha, cada uma em seu próprio eixo. Cada série diz a marca que quer.

Candlestick

type="candlestick"
Gráfico de Candlestick, 1 séries: ACME. ACME, 7 pontos de 52 a 65. de Mon a Sun

Quatro números por período: abertura, máxima, mínima e fechamento. Cada ponto é uma tupla, nessa ordem.

Calendar

type="calendar"
Gráfico de Calendário, 1 séries: Commits. Commits, 277 pontos de 1 a 14. de 1 de jan. de 2026 a 31 de dez. de 2026

Um ano de dias como uma grade de semanas. Uma linha de 365 pontos mostra a tendência; este mostra o dia, que é o que se procura num registro de atividade diária.

Comparação

Bar, grouped

type="bar"
Gráfico de Barras, 3 séries: North, South, East. North, 4 pontos de 41 a 67. South, 4 pontos de 8 a 23. East, 4 pontos de 11 a 17. de Q1 a Q4

Quantidades lado a lado. A linha de base tem de ser zero: uma barra diz o tamanho, e um eixo cortado mente sobre ele.

Bar, stacked

type="bar"
Gráfico de Barras, 3 séries: North, South, East. North, 4 pontos de 41 a 67. South, 4 pontos de 8 a 23. East, 4 pontos de 11 a 17. de Q1 a Q4

O total por categoria, dividido. Só a faixa de baixo é fácil de comparar entre categorias — ponha ali a série que importa.

Bar, to 100%

type="bar"
Gráfico de Barras, 3 séries: North, South, East. North, 4 pontos de 41 a 67. South, 4 pontos de 8 a 23. East, 4 pontos de 11 a 17. de Q1 a Q4

Proporções em vez de quantidades: toda barra é cheia, então a composição fica comparável e o tamanho some.

Bar, horizontal

type="bar"
Gráfico de Barras, 1 séries: Requests. Requests, 6 pontos de 22 a 67. de Authentication a Exports

Nomes de categoria longos, ou muitos deles: os rótulos ganham o espaço de que precisam e ficam na horizontal.

Lollipop

type="lollipop"
Gráfico de Pirulito, 1 séries: Requests. Requests, 6 pontos de 22 a 67. de Authentication a Exports

Uma barra sem a tinta. A mesma comparação por uma fração do peso, para uma página com muitas delas.

Waterfall

type="waterfall"
Gráfico de Cascata, 1 séries: Cash. Cash, 6 pontos de -260 a 1.490. de Opening a Closing

Como um número foi de um total a outro. Cada barra começa onde a anterior parou; uma barra de total volta ao zero.

Range bar

type="rangeBar"
Gráfico de Barras de intervalo, 1 séries: Temperature. Temperature, 4 pontos de 17 a 29. de Q1 a Q4

Uma barra entre dois números em vez de subir a partir do zero. Cada ponto é `[low, high]`, então se lê como um intervalo e não como uma quantidade.

Bullet

type="bullet"
Gráfico de Marcador, 1 séries: Against target. Against target, 4 pontos de 41 a 112. de Revenue a Margin

Uma medida, sua meta e as faixas em que cai: o trabalho de um medidor numa tira que cabe numa linha de tabela. O traço é a meta; as faixas são ruim, razoável e bom.

Distribuição

Scatter

type="scatter"
Gráfico de Dispersão, 2 séries: Trial, Paid. Trial, 8 pontos de 40 a 83. Paid, 8 pontos de 22 a 62

Duas medidas uma contra a outra, um ponto por item. O que importa é a forma da nuvem, não um ponto qualquer.

Bubble

type="bubble"
Gráfico de Bolhas, 2 séries: Europe, Americas. Europe, 4 pontos de 40 a 83. Americas, 4 pontos de 22 a 48

Uma dispersão com um terceiro número como área. Área, não raio: dobrar o raio desenharia quatro vezes a quantidade.

Heat map

type="heatmap"
Gráfico de Mapa de calor, 5 séries: Mon, Tue, Wed, Thu, Fri. Mon, 6 pontos de 8 a 85. Tue, 6 pontos de 8 a 96. Wed, 6 pontos de 19 a 85. Thu, 6 pontos de 8 a 96. Fri, 6 pontos de 19 a 96. de 09 a 19

Uma grade em que a cor é o valor: duas categorias entram, uma medida sai. Bom para uma semana por hora.

Histogram

type="histogram"
Gráfico de Histograma, 1 séries: Response time. Response time, 11 pontos de 0 a 12. de 30–40 a 130–140

Leituras brutas entram, contagens saem: o próprio gráfico calcula as faixas. Passe uma lista simples de números, não categorias.

Box plot

type="boxPlot"
Gráfico de Diagrama de caixa, 1 séries: Response time. Response time, 3 pontos de 22 a 68. de API a Jobs

Cinco números por categoria — mínimo, quartis, mediana, máximo — para que duas distribuições se comparem sem que nenhuma se perca numa média.

Partes de um todo

Treemap

type="treemap"
Gráfico de Mapa de árvore, 3 séries: Europe, Americas, Asia. Europe, 4 pontos de 10 a 84. Americas, 4 pontos de 12 a 132. Asia, 3 pontos de 14 a 61. de United States a Portugal

Partes de um total como áreas em vez de ângulos. Cabem muito mais partes do que numa pizza, e as caixas são dispostas de forma quadrada para que nenhuma vire uma lasca.

Radial bar

type="radialBar"
Gráfico de Barras radiais, 3 séries: Storage, Memory, CPU. Storage, 1 pontos de 72 a 72. Memory, 1 pontos de 48 a 48. CPU, 1 pontos de 35 a 35. de Storage a CPU

Um anel por medida, dando a volta até onde vai sua parte do máximo. Três ou quatro de cada vez: cada um se lê contra o próprio trilho, não contra os outros.

Gauge

type="gauge"
Gráfico de Medidor, 1 séries: Uptime. Uptime, 1 pontos de 96 a 96

Um número contra o seu máximo, com a leitura no meio. O arco deixa a parte de baixo aberta, e é isso que o distingue de um anel à primeira vista.

Sunburst

type="sunburst"
Gráfico de Explosão solar, 3 séries: Europe, Americas, Asia. Europe, 4 pontos de 47 a 199. Americas, 4 pontos de 39 a 243. Asia, 3 pontos de 55 a 116. de Europe a India

Uma pizza de vários anéis, um por nível de uma árvore. Responde o que uma pizza não consegue — do que uma fatia é feita — sem sair do círculo.

Pie

type="pie"
Gráfico de Pizza, 1 séries: Direct, Search, Social, Mail. Direct: 44%, Search: 30%, Social: 18%, Mail: 8%

Partes de um único total, num relance. Três ou quatro fatias; passando disso os ângulos deixam de ser legíveis e uma barra é mais gentil.

Donut

type="donut"
Gráfico de Rosca, 1 séries: Direct, Search, Social, Mail. Direct: 44%, Search: 30%, Social: 18%, Mail: 8%

Uma pizza com o meio livre, que é onde vai o total. O furo é o que faz valer a pena usá-la.

Radar

type="radar"
Gráfico de Radar, 2 séries: This release, Last release. This release, 6 pontos de 60 a 90. Last release, 6 pontos de 55 a 75. de Speed a Tests

Um perfil sobre as mesmas poucas medidas, para comparar dois ou três objetos pela forma e não pelo nível.

Funnel

type="funnel"
Gráfico de Funil, 1 séries: Signups. Signups, 5 pontos de 610 · 13% a 4,8 mil · 100%. de Visited a Renewed

As etapas de um processo, cada uma tão larga quanto sua parte da primeira. O que se procura nele é onde está a queda, por isso os rótulos trazem as porcentagens.

Além das formas

  • Zoom e seleção. Arraste sobre o gráfico para dar zoom, ou combine um gráfico com um gráfico de seleção que escolhe a janela.
  • Grupos sincronizados. Gráficos que compartilham um group movem o tooltip e a janela juntos.
  • Tema por tokens. Cores, grade e tipografia vêm dos mesmos tokens dos componentes, no claro e no escuro.
  • Sem Vue. @vitral/chart se monta em qualquer elemento; o componente Vue é uma camada sobre ele.

Tudo isso está na página do Chart