Delphi, C++ Builder & .NET Parte do sgcUI

sgcCharts, gráficos para Delphi, C++ Builder & .NET

Uma única biblioteca de gráficos para dashboards, análises e telas de trading. Dezessete tipos de série, da linha à cascata, indicadores SMA, RSI, MACD e Bollinger, feeds em tempo real, ferramentas de zoom e desenho e exportação para PNG ou SVG. O demo LiveLine transmite 1.000.000 de pontos por um buffer circular.

VCL, FireMonkey, WinForms, WPF, Avalonia17 tipos de série em um só modeloDemo LiveLine: 1.000.000 de pontos em um buffer circularIncluído no sgcUI Professional
Gráfico de candles do sgcCharts com bandas de Bollinger, médias móveis, volume, RSI e ferramentas de desenho

Tudo o que uma biblioteca de gráficos precisa

Dezoito recursos em sete grupos. Cada um cita o componente ou a propriedade real e leva ao seu tópico de ajuda. Os recursos marcados como Registrada não estão na edição .NET Community gratuita.

Tipos de gráfico

Um modelo, dezessete tipos de série e quantos eixos os dados precisarem.

Gráfico de área do sgcCharts renderizado a partir da galeria de séries

Tipos de gráfico

Dezessete tipos de gráfico em um só modelo

Uma tela de vendas precisa de barras e rosca, uma tela de laboratório precisa de dispersão e heatmap, uma tela de trading precisa de candles. O sgcCharts cobre tudo isso com um só modelo: cada série é um componente que você coloca no formulário ou cria em código, vincula a um TsgcChart e combina livremente com as demais. Aprenda a API uma vez e reutilize em todas as telas.

  • Linha, linha rápida, linha em degraus, área, área de intervalo, barras, dispersão, bolhas, candlestick e OHLC em eixos numéricos, de data e hora, logarítmicos ou de categorias
  • Pizza e rosca, radar, heatmap, treemap, funil, box plot e cascata para dados por categoria
  • TsgcChartSeries_Bar desenha barras verticais ou horizontais, agrupadas ou empilhadas (Grouping)
  • Os dezessete estão em todas as edições, inclusive na edição .NET Community gratuita
  • Da direita para a esquerda para árabe e hebraico: o título, a legenda, as dicas, a barra de ferramentas e o seletor de intervalo ficam espelhados, e MirrorPlot espelha também a área do gráfico e seus eixos
Ler o tópico da ajuda
Treemap com drill down do sgcCharts ao lado de um funil de vendas

Tipos de gráfico

Rosca, treemap e funil para dados de negócios

Relatórios gerenciais pedem participações, hierarquias e etapas de conversão. A série de pizza vira rosca com uma propriedade e reúne a cauda longa de fatias pequenas em uma única fatia Outros, para o gráfico continuar legível. O treemap dimensiona retângulos aninhados pelo valor e aprofunda com um clique, e o funil mostra cada etapa de um processo de vendas ou suporte com seu percentual. Os rótulos podem ficar dentro ou fora das fatias, e o treemap colore seus retângulos por grupo ou por valor com uma escala de cores. Todas as séries seguem o tema do gráfico, então o relatório combina com o restante do aplicativo.

  • InnerRadiusPercent cria a rosca, OthersThreshold e OthersText agrupam as fatias pequenas
  • ExplodeOnClick destaca a fatia quando o usuário clica nela
  • TsgcChartSeries_Treemap com DrillOnClick, DrillUp e o evento OnDrill
  • TsgcChartSeries_Funnel com NeckWidthPercent e ProportionalHeight
Ler o tópico da ajuda

Tipos de gráfico

Bolhas, box plot, cascata e área de intervalo

Uma equipe de finanças quer a ponte de lucro do orçamento ao realizado, um engenheiro de qualidade quer a dispersão dos tempos de ciclo por turno e um gerente de produto quer receita, margem e quadro de pessoal em um único gráfico. Quatro séries cobrem esses casos. A série de bolhas acrescenta um tamanho a X e Y. O box plot resume uma amostra com seus quartis, a mediana e os outliers. A cascata monta um total a partir de passos positivos e negativos, com subtotais e totais pelo caminho. A área de intervalo preenche a faixa entre um valor baixo e um alto, para um intervalo de previsão ou um corredor de tolerância.

  • TsgcChartSeries_Bubble com AddBubble, MinBubbleSize, MaxBubbleSize e SizeMode, dimensionada por área (cbsArea) ou por diâmetro (cbsDiameter)
  • TsgcChartSeries_BoxPlot desenha mínimo, quartis, mediana, máximo e uma média opcional; AddValues calcula os quartis a partir da amostra bruta como o QUARTILE.INC do Excel e encontra os outliers de Tukey
  • TsgcChartSeries_Waterfall com AddStep, AddSubtotal, AddTotal e ShowConnectors
  • TsgcChartSeries_RangeArea com AddRange para a faixa de valores baixo e alto
  • As quatro estão em todas as edições, inclusive na edição Community gratuita, em VCL, FireMonkey, WinForms, WPF e Avalonia
Ler o tópico da ajuda

Tipos de gráfico

Linhas suaves e barras de erro

Um relatório de laboratório mostra cada medição com sua incerteza, e a tendência de um dashboard se lê melhor como curva do que como zigue-zague. Defina Smooth em uma série de linha, área ou área de intervalo e ela é desenhada como uma spline cúbica monótona. A curva nunca ultrapassa os dados, então não mostra nenhum pico ou vale que os valores não tenham. As barras de erro acrescentam a incerteza de cada ponto às séries de linha, área, dispersão e barras, a partir de um valor fixo, um percentual, o desvio padrão da série ou seus próprios valores por ponto.

  • Smooth em TsgcChartSeries_Line, TsgcChartSeries_Area e TsgcChartSeries_RangeArea
  • ErrorBars.Kind: cebFixed, cebPercent, cebStdDev ou cebCustom com AddCustom
  • Direction: cedBoth, cedPlus ou cedMinus, com tampas nas extremidades dimensionadas por CapWidth
  • O eixo de valores se alarga sozinho, então nenhuma barra de erro é cortada
  • Em todas as edições, inclusive na edição Community gratuita, em VCL, FireMonkey, WinForms, WPF e Avalonia
Ler o tópico da ajuda
Três séries desenhadas em três eixos de valores separados

Tipos de gráfico

Vários eixos em um só gráfico

Temperatura e pressão, receita e unidades, preço e volume: dados reais raramente compartilham uma única escala. Adicione quantos eixos precisar, posicione-os à esquerda, à direita, em cima ou embaixo e vincule cada série ao seu próprio par. Cada eixo escolhe seu tipo, intervalo e formato de rótulo, então um eixo inferior de data e hora pode ficar sob um eixo esquerdo numérico e um eixo direito logarítmico. Cada série indica os eixos que usa, de modo que duas linhas podem compartilhar o eixo esquerdo enquanto uma terceira usa o direito. Os eixos fazem zoom de forma independente, e ResetZoom os devolve ao intervalo completo.

  • Coleção Axes em TsgcChart, um TsgcChartAxis por escala
  • AxisType: catNumeric, catLogarithmic, catDateTime ou catCategory
  • Position: capLeft, capRight, capTop ou capBottom
  • Minimum, Maximum, Automatic, LabelFormat e Inverted por eixo
Ler o tópico da ajuda

Gráficos financeiros

Candles em todas as edições, mais o pacote financeiro: indicadores, painéis, marcadores e ferramentas de desenho.

Gráfico de candlestick do sgcCharts em um eixo de data e hora

Gráficos financeiros

Gráficos de candlestick e OHLC sempre nítidos

O histórico de preços é o núcleo de qualquer tela de trading. As séries candlestick e OHLC desenham abertura, máxima, mínima e fechamento a partir dos seus próprios dados ou de um conjunto de dados, em um eixo de data e hora. Quando anos de barras encontram uma janela estreita, os candles que caem na mesma coluna de pixels são combinados em um único candle correto (primeira abertura, maior máxima, menor mínima, último fechamento, volume somado), e o gráfico nunca mostra um pico enganoso. A série OHLC desenha os mesmos dados como barras com marcas de abertura e fechamento, uma opção compacta para históricos longos. As duas séries funcionam com o zoom, o deslocamento e a mira de todos os gráficos.

  • TsgcChartSeries_Candlestick e TsgcChartSeries_OHLC compartilham um único buffer OHLC
  • TsgcChartDataSource_DataSet mapeia OpenField, HighField, LowField, CloseField e VolumeField
  • Combinação de candles por coluna de pixels com sgcChartDecimateOHLC
  • As duas séries estão em todas as edições, inclusive na edição .NET Community gratuita
Ler o tópico da ajuda
Indicadores técnicos sem escrever a matemática

Gráficos financeiros Somente Registrada

Indicadores técnicos sem escrever a matemática

Analistas esperam médias móveis, bandas de Bollinger, RSI e MACD no gráfico de preços. Cada indicador é uma série: aponte seu Source para uma série candlestick e ele recalcula sempre que os candles mudam. Sem fórmulas para programar, testar ou manter sincronizadas com dados em tempo real. Osciladores como RSI e Stochastic desenham suas linhas-guia de sobrecompra e sobrevenda, e cada série de indicador aparece na legenda com sua própria cor. Coloque-os no painel de preços ou dê um painel próprio a cada um.

  • Tendência: TsgcChartSeries_SMA, TsgcChartSeries_EMA, TsgcChartSeries_WMA, TsgcChartSeries_Bollinger
  • Osciladores: TsgcChartSeries_RSI, TsgcChartSeries_MACD, TsgcChartSeries_Stochastic, com GuideLines
  • Volatilidade e volume: TsgcChartSeries_ATR, TsgcChartSeries_VWAP, TsgcChartSeries_Volume
  • Recalculate sob demanda, Values para ler o resultado calculado

A edição .NET Community inclui as séries candlestick e OHLC, mas não as séries de indicadores.

Ler o tópico da ajuda
Painéis, marcador do último valor e faixa de compra e venda

Gráficos financeiros Somente Registrada

Painéis, marcador do último valor e faixa de compra e venda

Um layout de trading empilha preço, volume e um oscilador em painéis separados que compartilham um único eixo de tempo, então o zoom no preço aplica zoom em tudo abaixo dele. Um marcador no eixo de preços mostra o valor mais recente de relance, e uma faixa sombreada mostra o spread atual entre compra e venda enquanto as cotações chegam. As alturas dos painéis são percentuais, então o layout acompanha a janela e sobrevive ao redimensionamento. Cada painel também tem uma propriedade Visible, para que uma tela ofereça um painel de indicador apenas quando o usuário pedir.

  • Coleção Panes de TsgcChartPane com HeightPercent; o usuário arrasta o divisor entre os painéis
  • Cada eixo é atribuído a um painel pela propriedade Pane
  • LastValueMarker com Color e Visible
  • BidAskBand com Bid, Ask, BidColor e AskColor
Ler o tópico da ajuda

Gráficos financeiros Somente Registrada

Ferramentas de desenho para analistas

Traders marcam níveis de suporte, canais de tendência e retrações direto no gráfico. Escolha uma ferramenta, arraste sobre a área de plotagem e o desenho fica ancorado às coordenadas dos dados, permanecendo nos candles certos quando o usuário aplica zoom ou desloca o gráfico. Os desenhos são uma coleção que você também pode preencher por código, bloquear contra edição ou remover. As linhas podem ser sólidas, tracejadas ou pontilhadas, com cor e largura próprias. Como os desenhos são uma coleção comum com coordenadas simples, você pode armazená-los com o espaço de trabalho do usuário e recarregá-los na próxima inicialização.

  • Interaction.DrawingTool: cdtTrendLine, cdtHorizontalLine, cdtVerticalLine, cdtRectangle, cdtFibonacci
  • Coleção Drawings com X1, Y1, X2, Y2, Color, Dash e Locked
  • DeleteSelectedDrawing remove o desenho selecionado pelo usuário
  • Mostrado no demo DrawingTools
Ler o tópico da ajuda

Anotações e edição

Explique os dados no gráfico e deixe os usuários ajustarem o gráfico em tempo de execução.

Anotações e edição

Anotações e telas ISA-101

Uma tela de operador precisa do limite de alarme como uma linha, da faixa normal de operação como uma banda e de uma nota no momento em que o lote começou. As anotações são posicionadas em valores de dados, então continuam no lugar certo quando o usuário faz zoom, desloca ou chegam novos pontos. Um callout pode apontar para um ponto de dados fixo ou seguir o ponto mais recente de uma série em tempo real. Para salas de controle, ApplyISA101Theme muda o gráfico para o estilo cinza e discreto usado nas telas HMI ISA-101. A cor é reservada para os estados anormais, então as cores de alarme das prioridades 1 a 4 se destacam em uma tela calma.

  • Coleção Annotations no TsgcChart, um TsgcChartAnnotation por item
  • Kind: cakText, cakLine, cakHorizontalLine, cakVerticalLine, cakRectangle, cakHorizontalBand ou cakCallout
  • AnchorSeries e AnchorPoint prendem um callout a um ponto de dados, e o AnchorPoint padrão, -1, segue o ponto mais recente
  • As anotações seguem o tema e o alto contraste do Windows, e os leitores de tela leem o seu texto
  • ApplyISA101Theme mantém as cores de alarme das prioridades 1 a 4

As anotações e o preset ISA-101 estão em todas as edições, inclusive na edição Community gratuita, em VCL, FireMonkey, WinForms, WPF e Avalonia. O preset é descrito em Temas e paleta.

Ler o tópico da ajuda
Designer de gráficos, página Data: tipo de gráfico, séries por colunas ou linhas, Top N, série de pizza, rótulos de dados, totais gerais e as séries combinadas de cada medida

Anotações e edição

Deixe os usuários editarem o gráfico

Antes de levar um gráfico para uma apresentação, o usuário quer a linha de vendas na cor da empresa, um título de eixo mais claro e a série de devoluções oculta. Com o editor de gráfico em tempo de execução ele mesmo faz isso, sem uma nova compilação do aplicativo. Uma única chamada abre uma caixa de diálogo em que o usuário edita os títulos, a legenda, os eixos e cada série: sua cor, sua visibilidade, a suavização e seu tipo, trocado por outro tipo de série compatível.

Para um gráfico vinculado a uma tabela por meio do TsgcChartTableLink, o designer de gráficos acrescenta uma página Data à mesma caixa de diálogo: o tipo de gráfico (colunas agrupadas, empilhadas ou empilhadas 100%, linha, área, pizza, rosca ou combinado), séries por colunas ou por linhas, Top N, a série de pizza, rótulos de dados com um formato, a linha e a coluna de total geral de um pivô, e o tipo de série e o eixo de cada medida de um gráfico combinado. É o designer do gráfico dinâmico do sgcPivotGrid e funciona com qualquer tabela que o vínculo desenhe. Somente Registrada

  • ShowEditor em VCL, FireMonkey, WinForms e WPF
  • ShowEditorAsync no Avalonia
  • Títulos, legenda e eixos em uma única caixa de diálogo
  • Por série: cor, visibilidade, Smooth e o tipo de série entre os tipos compatíveis
  • sgcVCLShowChartDesigner e sgcFMXShowChartDesigner em Delphi, ShowDesigner e ShowDesignerAsync em .NET, e um verbo Chart designer... no IDE do Delphi

O editor de gráfico em tempo de execução está em todas as edições, inclusive na edição Community gratuita. O designer de gráficos e os tipos empilhado 100%, pizza, rosca e combinado do vínculo de tabela não estão na edição Community; o vínculo de tabela com barras, barras empilhadas, linhas e áreas está.

Ler o tópico da ajuda Ler o tópico sobre o designer de gráficos

Dados em tempo real e exploração

Transmita grandes conjuntos de dados e deixe os usuários olharem de perto.

Dados em tempo real e exploração

Um milhão de pontos sem travar

Logs de sensores, níveis de áudio e dados de ticks crescem sem parar. A série de linha rápida guarda seus pontos em um buffer circular de Capacity fixa, então a memória fica estável e os pontos mais antigos saem. Na hora de desenhar, cada série reduz os pontos visíveis a cerca de um conjunto por coluna de pixels, e o gráfico é redesenhado no máximo MaxFPS vezes por segundo, por mais rápido que os dados cheguem. O demo LiveLine transmite para um buffer de 1.000.000 de pontos a partir de uma thread em segundo plano. O demo permite alterar a taxa do feed e a janela visível durante a execução, para você avaliar o comportamento no seu próprio hardware antes de escrever uma linha de código.

  • TsgcChartSeries_FastLine com Capacity e BufferMode (cbmOverwrite ou cbmGrow)
  • Decimation: dmNone, dmMinMax (visualmente exato) ou dmLTTB
  • TimeWindow mostra apenas os últimos N segundos de um eixo de streaming
  • AddXY e AddY acrescentam pontos conforme eles chegam
Ler o tópico da ajuda

Dados em tempo real e exploração

Zoom, deslocamento, mira e tooltips integrados

Os usuários querem olhar de perto a parte interessante dos dados. Todo gráfico já oferece zoom com a roda, zoom por caixa com o mouse, deslocamento e gestos de toque, com uma mira e um tooltip que se ajustam ao ponto mais próximo. Em um gráfico de streaming, o zoom pausa a rolagem automática, que retoma sozinha após um atraso à sua escolha. Toda opção é uma propriedade, então uma tela de quiosque pode desativar a interação e uma tela de analista pode restringir o zoom ao eixo de tempo. O mesmo comportamento funciona nas views VCL, FireMonkey e .NET.

  • TsgcChartInteraction: WheelZoom, BoxZoom, Pan, ZoomMode (czmX, czmY, czmXY)
  • Crosshair, Tooltip e SnapToPoint
  • AutoScrollResumeDelay e Paused para gráficos em tempo real
  • Eventos OnZoom, OnCrosshairMove e OnSeriesClick, ResetZoom para voltar
Ler o tópico da ajuda

Dados de entrada, imagens de saída

Vincule os dados que você tem, alimente streams em tempo real e renderize gráficos em qualquer lugar.

Demo DataSetChart do sgcCharts com uma grade de banco de dados à esquerda e o gráfico à direita

Dados de entrada, imagens de saída

Vincule CSV, JSON ou qualquer TDataSet

A maioria dos gráficos mostra dados que você já tem: o resultado de uma consulta, um arquivo exportado, uma resposta REST ou as linhas de uma grade. As fontes de dados os carregam em uma série sem um laço de chamadas AddXY. Informe os campos ou colunas, chame Refresh quando os dados mudarem e o gráfico acompanha. A fonte de dataset também mapeia os campos de abertura, máxima, mínima, fechamento e volume dos candles. As fontes de dados são componentes, então você as configura em tempo de design no Object Inspector. Defina Live e o gráfico acompanha o dataset sem nenhum código: quando um usuário grava, exclui ou insere um registro em uma grade, ou muda o filtro, o gráfico é recarregado.

  • TsgcChartDataSource_DataSet lê qualquer TDataSet por meio de XField, YField e LabelField
  • Live acompanha gravações, exclusões, inserções e filtros por meio de um TDataLink, com limitação de frequência para que uma rajada de mudanças custe um único recarregamento; no .NET, Live acompanha as mudanças de um DataTable
  • FollowCursor move o ponto em foco conforme o usuário percorre o dataset (Delphi)
  • ExtraFields alimenta as colunas de tamanho, mínimo, quartis ou tipo das séries de bolhas, área de intervalo, box plot e cascata
  • TsgcChartDataSource_CSV e TsgcChartDataSource_JSON para arquivos e respostas de API
  • TsgcChartDataSource_Table para uma tabela em memória, por exemplo as linhas de um sgcGrid
  • TsgcChartDataSource_Manual para pontos enviados pelo código ou por uma thread em segundo plano
Ler o tópico da ajuda

Dados de entrada, imagens de saída Somente Registrada

Feeds de mercado e IoT em tempo real sem código de ligação

Conecte um gráfico a uma corretora ou a um stream de mercado e ele desenha cada mensagem assim que chega. A ponte sgcChartsWS se liga ao evento de mensagem de um cliente sgcWebSockets e mapeia o JSON em pontos ou candles. A fonte Binance pode montar candles a partir de negociações brutas com um agregador em intervalos de um segundo a um mês. Quando uma fonte para, ela restaura o manipulador de evento anterior do cliente.

  • TsgcChartDataSource_Binance: Symbol, Stream (cbsKLine, cbsTicker, cbsTrade), Interval
  • TsgcChartDataSource_MQTT com TopicFilter e PayloadFormat
  • TsgcChartDataSource_WebSocket e TsgcChartDataSource_SSE para JSON via WebSocket ou server-sent events
  • TsgcChartAggregator transforma negociações em candles com AddTrade

A ponte exige o sgcWebSockets. Na edição Community, alimente o gráfico com seu próprio código usando a fonte de dados manual.

Ler o tópico da ajuda

Dados de entrada, imagens de saída

PNG e SVG em um servidor, sem precisar de janela

Os gráficos muitas vezes saem da tela: um e-mail de relatório diário, um PDF, uma página web ou um endpoint REST que devolve uma imagem. O TsgcChartRenderer desenha o mesmo modelo de gráfico em PNG ou SVG sem formulário e sem laço de mensagens, em um aplicativo de console, um serviço do Windows ou um servidor Linux64 criado com o Delphi 10.2 ou superior. Na tela, as views salvam o que o usuário vê com uma única chamada. A saída usa o mesmo tema, as mesmas fontes e a mesma paleta da tela, então um gráfico em um PDF fica exatamente igual ao do dashboard.

  • RenderToPNGFile, RenderToPNGStream, RenderToSVGFile, RenderToSVGStream
  • Width, Height e Scale para imagens de alta DPI
  • SaveToPNG e SaveToSVG em TsgcVCLChart
  • Demos Headless e HeadlessService; no .NET, o pacote esegece.sgcCharts.Rendering
Ler o tópico da ajuda

Acessibilidade

UI Automation para leitores de tela, o teclado e o alto contraste, sem nenhuma configuração.

Acessibilidade

Um gráfico exposto ao UI Automation ponto a ponto

O sgcCharts expõe o gráfico ao Microsoft UI Automation com seu título, eixos, legenda, séries e pontos de dados. Cada ponto expõe sua categoria e seu valor, e o gráfico se descreve com a mesma alternativa em texto que grava em um PDF acessível.

  • Left e Right passam para o ponto de dados anterior ou seguinte, Up e Down para a série anterior ou seguinte, Home e End para o primeiro ou o último ponto
  • Page Up e Page Down saltam um décimo dos pontos, Enter ativa o ponto com foco como um clique e Esc limpa o foco do ponto
  • O gráfico é uma parada de tabulação e mostra um anel de foco visível
  • Sob um tema de alto contraste do Windows, as séries usam as cores do sistema e, quando o tipo de série permite, se distinguem por padrões de linha e marcadores

A acessibilidade vem ativada por padrão em todas as edições, inclusive a edição Community gratuita, no VCL em todas as versões do Delphi e do C++Builder do Delphi 7 ao Delphi 13, no FireMonkey no Windows e no WinForms, WPF e Avalonia. No Delphi e no C++Builder, AccessibleName e AccessibleDescription definem o nome e a descrição expostos ao UI Automation, e no .NET o nome acessível e o texto de ajuda padrão de cada framework fazem o mesmo. Veja os relatórios de conformidade de acessibilidade. O zoom e o deslocamento por mouse e as ferramentas de desenho financeiras não têm alternativa pelo teclado.

Leia o tópico da ajuda

Veja o sgcCharts em ação

sgcCharts dentro das demos da suíte sgcUI: aplicações completas que rodam offline com dados simulados integrados.

Medido nos demos e na ajuda

Números do demo LiveLine incluído e da referência de decimação, para você reproduzi-los por conta própria.

MediçãoResultadoCondições
Pontos no buffer circular do LiveLine1.000.000TsgcChartSeries_FastLine alimentada por uma thread em segundo plano por meio de TsgcChartDataSource_Manual
Pontos mantidos por coluna de pixelsno máximo 4Decimação dmMinMax: primeiro, mínimo, máximo e último ponto

Fonte: o tópico da ajuda que documenta estes números.

Quem cria com o sgcCharts

Plataformas de trading e cripto

Um aplicativo de mesa mostra candles do símbolo selecionado, médias móveis e bandas de Bollinger no painel de preços, RSI e volume em painéis abaixo e a faixa de compra e venda enquanto as cotações chegam. Os analistas desenham linhas de tendência e níveis de Fibonacci que continuam ancorados quando aplicam zoom. A fonte Binance monta os candles direto do stream da corretora.

  • Série candlestick
  • Indicadores e painéis
  • Ferramentas de desenho
  • Fonte de dados Binance
Execute o demo BinanceLive

Monitoramento industrial e IoT

Um cliente de sala de controle desenha dezenas de sensores ao mesmo tempo. Séries de linha rápida com buffers circulares guardam horas de leituras em memória fixa, uma janela de tempo mostra os últimos minutos e a decimação mantém o redesenho leve. Tópicos MQTT alimentam os gráficos diretamente, e um heatmap mostra quais máquinas estão esquentando.

  • Linha rápida e buffer circular
  • Janela de tempo
  • Fonte de dados MQTT
  • Heatmap
Execute o demo MQTTSensors

Relatórios de negócios e imagens geradas

Um serviço de back office renderiza a rosca de receita semanal, o funil de vendas e uma tendência de doze meses em PNG para o e-mail da diretoria e em SVG para a intranet. O mesmo código de gráfico também roda dentro do aplicativo desktop, vinculado ao mesmo dataset, então números e cores sempre coincidem.

  • Rosca e funil
  • Fonte de dados DataSet
  • TsgcChartRenderer
  • Temas
Execute o demo Headless

A Donut Chart in a Few Lines

The same API in Delphi, C++ Builder and C#: revenue by region as a donut with an Others slice, on a dark theme, exported to PNG.

Builds the model, a pie series with a 55 percent hole, a VCL view and a renderer that writes a 1200 x 700 PNG.

uses
  Controls, sgcUICore_Theme, sgcCharts_Chart, sgcCharts_Series_Pie,
  sgcCharts_Renderer, sgcCharts_VCL;

// Revenue by region as a donut chart with an "Others" slice,
// on a dark theme, exported to PNG.
procedure BuildDonut(aOwner: TWinControl);
var
  oChart: TsgcChart;
  oView: TsgcVCLChart;
  oPie: TsgcChartSeries_Pie;
  oPNG: TsgcChartRenderer;
begin
  oChart := TsgcChart.Create(aOwner);
  oChart.Theme := utDark;
  oChart.Title.Text := 'Revenue by region';
  oChart.Legend.Position := clpRight;

  oPie := TsgcChartSeries_Pie.Create(aOwner);
  oPie.Chart := oChart;
  oPie.InnerRadiusPercent := 55;
  oPie.OthersThreshold := 4;
  oPie.OthersText := 'Others';
  oPie.ExplodeOnClick := True;
  oPie.AddItem('North America', 420);
  oPie.AddItem('Europe', 310);
  oPie.AddItem('Asia Pacific', 280);
  oPie.AddItem('Latin America', 95);
  oPie.AddItem('Middle East', 12);

  oView := TsgcVCLChart.Create(aOwner);
  oView.Parent := aOwner;
  oView.Align := alClient;
  oView.Chart := oChart;

  oPNG := TsgcChartRenderer.Create(aOwner);
  oPNG.Chart := oChart;
  oPNG.RenderToPNGFile('revenue.png', 1200, 700);
end;

Ler o tópico da ajuda →

The same donut in C++ Builder, using the generated sgcCharts_*.hpp headers.

#include <vcl.h>
#include "sgcUICore_Theme.hpp"
#include "sgcCharts_Chart.hpp"
#include "sgcCharts_Series_Pie.hpp"
#include "sgcCharts_Renderer.hpp"
#include "sgcCharts_VCL.hpp"

// Revenue by region as a donut chart with an "Others" slice,
// on a dark theme, exported to PNG.
void BuildDonut(TWinControl *aOwner)
{
  TsgcChart *oChart = new TsgcChart(aOwner);
  oChart->Theme = utDark;
  oChart->Title->Text = "Revenue by region";
  oChart->Legend->Position = clpRight;

  TsgcChartSeries_Pie *oPie = new TsgcChartSeries_Pie(aOwner);
  oPie->Chart = oChart;
  oPie->InnerRadiusPercent = 55;
  oPie->OthersThreshold = 4;
  oPie->OthersText = "Others";
  oPie->ExplodeOnClick = true;
  oPie->AddItem("North America", 420, 0);
  oPie->AddItem("Europe", 310, 0);
  oPie->AddItem("Asia Pacific", 280, 0);
  oPie->AddItem("Latin America", 95, 0);
  oPie->AddItem("Middle East", 12, 0);

  TsgcVCLChart *oView = new TsgcVCLChart(aOwner);
  oView->Parent = aOwner;
  oView->Align = alClient;
  oView->Chart = oChart;

  TsgcChartRenderer *oPNG = new TsgcChartRenderer(aOwner);
  oPNG->Chart = oChart;
  oPNG->RenderToPNGFile("revenue.png", 1200, 700);
}

Ler o tópico da ajuda →

Headless in C#: the same model rendered to PNG with no window, from the Rendering package.

using esegece.sgcCharts;
using esegece.sgcUICore;

// Revenue by region as a donut chart with an "Others" slice,
// on a dark theme, rendered headless to PNG (no window needed).
public static class RevenueDonut
{
    public static void Render()
    {
        var oChart = new TsgcChart();
        oChart.Theme = TsgcUITheme.utDark;
        oChart.Title.Text = "Revenue by region";
        oChart.Legend.Position = TsgcChartLegendPosition.clpRight;

        var oPie = new TsgcChartSeries_Pie();
        oPie.Chart = oChart;
        oPie.InnerRadiusPercent = 55;
        oPie.OthersThreshold = 4;
        oPie.OthersText = "Others";
        oPie.ExplodeOnClick = true;
        oPie.AddItem("North America", 420);
        oPie.AddItem("Europe", 310);
        oPie.AddItem("Asia Pacific", 280);
        oPie.AddItem("Latin America", 95);
        oPie.AddItem("Middle East", 12);

        var oPNG = new TsgcChartRenderer();
        oPNG.Chart = oChart;
        oPNG.RenderToPNGFile("revenue.png", 1200, 700);
    }
}
dotnet add package esegece.sgcCharts.Rendering

Ler o tópico da ajuda →

Execute os demos do sgcCharts

19 demos para Delphi, os mesmos 19 para C++ Builder e 12 para .NET, todos no download dos demos compilados. Estes são os que mostram os recursos acima.

LiveLine

LiveLine

Uma série de linha rápida com buffer circular de 1.000.000 de pontos alimentado por uma thread em segundo plano, uma janela de tempo de 10 s, 60 s ou do buffer inteiro, troca de tema e uma mira sobre todo o stream.

Candlestick

Candles diários em um eixo de data e hora com um eixo de volume. Zoom e deslocamento com o mouse; onde vários candles dividem uma coluna de pixels, eles se combinam em um único candle correto.

Somente Registrada DrawingTools

Linhas de tendência, linhas horizontais e verticais, retângulos e retrações de Fibonacci desenhados com o mouse em um gráfico de candlestick, depois selecionados, bloqueados ou excluídos.

DataSetChart

DataSetChart

Um client dataset de 1.000 linhas exibido em uma grade de banco de dados e lido por duas fontes de dataset em uma série de linha e uma de barras. Edite uma linha, recarregue e o gráfico acompanha.

BusinessCharts

BusinessCharts

Séries de bolhas, box plot, cascata e área de faixa suave com barras de erro, anotações e uma linha de alarme ISA-101, o tema ISA-101 e o editor de gráficos em tempo de execução, sobre um conjunto de dados ao vivo que o gráfico acompanha. Também em .NET como BusinessCharts, BusinessChartsWpf e BusinessChartsAvalonia. Também para FireMonkey como BusinessChartsFMX.

Somente Registrada BinanceLive

Candles em tempo real de um stream de mercado da Binance pela ponte sgcChartsWS, em um gráfico financeiro com painéis e indicadores. Requer o sgcWebSockets.

Somente Registrada MQTTSensors

Leituras de sensores alimentadas por tópicos MQTT pela ponte sgcChartsWS e desenhadas assim que chegam. Requer o sgcWebSockets e um broker MQTT.

Headless

Um programa de console que monta um gráfico e grava arquivos PNG e SVG sem janela. O HeadlessService faz o mesmo a partir de um serviço do Windows.

Demos compilados

Executáveis prontos para rodar de todos os produtos sgcUI, sem nada para instalar.

Baixar sgcUI_bin.zip →

Onde o sgcCharts está incluído

O sgcCharts está no sgcUI Professional e Enterprise e também é vendido separadamente. O sgcCharts também está incluído no pacote All-Access.

sgcCharts pacote individual

€199 / desenvolvedor, código-fonte completo, 1 ano de atualizações.

Comprar o sgcCharts → Ver preços →

sgcUI Professional

Standard mais sgcCharts, sgcDashboard e sgcGauges, a partir de €529.

Ver Professional →

sgcUI Enterprise

Todos os 15 produtos sgcUI, a partir de €699.

Ver Enterprise →

A edição Community gratuita (esegece.sgcCharts.Community no NuGet) tem as dezessete séries, as anotações, as barras de erro, o preset ISA-101, o editor em tempo de execução, as views, os buffers, as fontes manual, CSV, JSON e dataset, interação e saída headless. Ela não inclui o pacote financeiro (séries de indicadores e de volume, painéis, agregador, ferramentas de desenho, marcador do último valor, faixa de compra e venda), o designer de gráficos com os tipos avançados de vínculo de tabela nem a ponte sgcChartsWS.

RecursoCommunity (gratuita)Registrada
17 tipos de série, candlestick e OHLC incluídos✓✓
Linha rápida, buffers circulares e decimação✓✓
Zoom, deslocamento, mira e tooltips✓✓
Fontes de dados manual, CSV, JSON e dataset ao vivo✓✓
Temas, exportação para PNG e SVG, renderizador headless✓✓
Anotações, barras de erro, preset ISA-101 e editor de gráfico em tempo de execução✓✓
Séries de indicadores e de volume−✓
Painéis, marcador do último valor, faixa de compra e venda−✓
Ferramentas de desenho e agregador de negociações−✓
Feeds em tempo real do sgcChartsWS (Binance, MQTT, WebSocket, SSE)−✓
Designer de gráficos para vínculos de tabela, com os tipos empilhado 100%, pizza, rosca e combinado−✓

Frameworks e plataformas suportados

Componentes do sgcCharts

ComponenteO que é
TsgcChartO modelo do gráfico: eixos, séries, legenda, tema e interação.
TsgcVCLChart, TsgcFMXChartAs views para VCL e FireMonkey.
TsgcChartRendererRenderização headless em PNG e SVG, também em um serviço e no Linux64.
TsgcChartSeries_*Os 17 tipos de série e as séries de indicadores financeiros.
TsgcChartDataSource_Manual, _CSV, _JSON, _DataSet, _TableFontes de dados para pontos, arquivos, datasets e tabelas.
TsgcChartDataSource_WebSocket, _MQTT, _SSE, _BinanceFontes de feeds em tempo real da ponte sgcChartsWS (somente Registrada).
DestinoComponentePlataformas
Delphi 7 a 13, VCLTsgcVCLChartWin32 e Win64
Delphi XE6 a 13, FireMonkeyTsgcFMXChartWindows, macOS, iOS e Android
C++ Builder 2007 a 13TsgcVCLChart, TsgcFMXChartCabeçalhos .hpp gerados e bibliotecas estáticas
Delphi 10.2 a 13, headlessModel e TsgcChartRendererLinux64, PNG e SVG em um servidor
.NET Framework 4.7.2, .NET 8, 9 e 10TsgcWinFormsChart, TsgcWpfChart, TsgcAvaloniaChartWinForms, WPF, Avalonia 12 e renderização headless

Perguntas frequentes

O demo LiveLine transmite para uma série de linha rápida com buffer circular de 1.000.000 de pontos a partir de uma thread em segundo plano. A memória permanece fixa porque o buffer tem uma Capacity definida, a decimação reduz os pontos visíveis a alguns por coluna de pixels e MaxFPS limita a taxa de redesenho. Execute o demo compilado para ver isso na sua própria máquina.

Dezessete: linha, linha rápida, linha em degraus, área, área de intervalo, barras, dispersão, bolhas, candlestick, OHLC, pizza e rosca, radar, heatmap, treemap, funil, box plot e cascata. Cada um é um componente, então você pode combinar vários em um gráfico, com quantos eixos precisar.

Não. A Community inclui as séries candlestick e OHLC, mas não as séries de indicadores e de volume, painéis, agregador, ferramentas de desenho, marcador do último valor nem a faixa de compra e venda. Esses recursos, e os feeds em tempo real do sgcChartsWS, exigem a edição Registrada. Veja Editions na ajuda.

Sim. SaveToPNG e SaveToSVG salvam o que uma view mostra, e o TsgcChartRenderer renderiza um modelo de gráfico em arquivos ou streams PNG ou SVG sem janela, com a largura, a altura e a escala que você escolher. Esse é o caminho habitual para um PDF ou o corpo de um e-mail.

Sim, em modo headless. A partir do Delphi 10.2, o modelo do gráfico e o TsgcChartRenderer compilam para Linux64 e gravam PNG e SVG. Não existe um controle de view para Linux. No .NET, o pacote esegece.sgcCharts.Rendering tem como destino .NET Standard 2.0, .NET Framework 4.7.2 e .NET 6, 8, 9 e 10.

Pontos manuais, CSV, JSON, qualquer TDataSet e uma tabela em memória em todas as licenças do produto. Com a edição Registrada e o sgcWebSockets, a ponte sgcChartsWS acrescenta streams de mercado da Binance, tópicos MQTT, JSON via WebSocket e server-sent events.

Ajuda do sgcCharts

3,000+Desenvolvedores
20+Anos
761+Componentes
30+Integrações de API
5Plataformas
Garantia de reembolso de 30 diasNão ficou satisfeito? Solicite o reembolso total em até 30 dias após a compra. Ver política de reembolso

Experimente o sgcCharts hoje

A avaliação do sgcUI inclui o sgcCharts e todos os outros produtos sgcUI.