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

sgcCharts, grafici per Delphi, C++ Builder & .NET

Una sola libreria di grafici per dashboard, analisi e schermate di trading. Diciassette tipi di serie, dalla linea alla cascata, indicatori SMA, RSI, MACD e Bollinger, feed live, zoom e strumenti di disegno, ed esportazione PNG o SVG. La demo LiveLine trasmette 1.000.000 di punti attraverso un buffer circolare.

VCL, FireMonkey, WinForms, WPF, Avalonia17 tipi di serie in un solo modelloDemo LiveLine: 1.000.000 di punti in un buffer circolareIncluso in sgcUI Professional
Grafico a candele di sgcCharts con bande di Bollinger, medie mobili, volume, RSI e strumenti di disegno

Tutto ciò che serve a una libreria di grafici

Diciotto funzionalità in sette gruppi. Ognuna indica il componente o la proprietà reale e rimanda al relativo topic della guida. Le funzionalità contrassegnate come Registered non sono nella build .NET Community gratuita.

Tipi di grafico

Un solo modello, diciassette tipi di serie, tanti assi quanti ne servono ai dati.

Grafico ad area di sgcCharts generato dalla galleria delle serie

Tipi di grafico

Diciassette tipi di grafico su un solo modello

Una schermata di vendite ha bisogno di barre e di una ciambella, una schermata di laboratorio di dispersione e heatmap, una di trading di candele. sgcCharts li copre tutti con un solo modello: ogni serie è un componente che trascini sul form o crei da codice, colleghi a un TsgcChart e combini liberamente con le altre. Impari l'API una volta e la riusi in ogni schermata.

  • Linea, linea veloce, linea a gradini, area, area di intervallo, barre, dispersione, bolle, candlestick e OHLC su assi numerici, data e ora, logaritmici o per categorie
  • Torta e ciambella, radar, heatmap, treemap, imbuto, box plot e cascata per dati per categoria
  • TsgcChartSeries_Bar disegna barre verticali o orizzontali, raggruppate o in pila (Grouping)
  • Tutti e diciassette sono presenti in ogni edizione, compresa la build .NET Community gratuita
  • Da destra a sinistra per arabo ed ebraico: il titolo, la legenda, i tooltip, la barra degli strumenti e il selettore di intervallo sono speculari, e MirrorPlot specchia anche l'area del grafico e i suoi assi
Leggi l'argomento della guida
Treemap con drill down di sgcCharts accanto a un imbuto di vendita

Tipi di grafico

Ciambella, treemap e imbuto per i dati aziendali

I report direzionali chiedono quote, gerarchie e fasi di conversione. La serie torta diventa una ciambella con una sola proprietà e raccoglie la lunga coda di fette piccole in un'unica fetta Altri, così il grafico resta leggibile. Il treemap dimensiona rettangoli annidati in base al valore e approfondisce al clic, e l'imbuto mostra ogni fase di un processo di vendita o di assistenza con la sua percentuale. Le etichette possono stare dentro o fuori dalle fette, e il treemap colora i rettangoli per gruppo o per valore con una scala di colori. Ogni serie segue il tema del grafico, così il report è coerente con il resto dell'applicazione.

  • InnerRadiusPercent crea la ciambella, OthersThreshold e OthersText raggruppano le fette piccole
  • ExplodeOnClick estrae una fetta quando l'utente ci clicca sopra
  • TsgcChartSeries_Treemap con DrillOnClick, DrillUp e l'evento OnDrill
  • TsgcChartSeries_Funnel con NeckWidthPercent e ProportionalHeight
Leggi l'argomento della guida

Tipi di grafico

Bolle, box plot, cascata e area di intervallo

Un team finanziario vuole il ponte dei profitti dal budget al consuntivo, un ingegnere della qualità vuole la dispersione dei tempi di ciclo per turno e un product manager vuole ricavi, margine e organico su un solo grafico. Quattro serie coprono questi casi. La serie a bolle aggiunge una dimensione a X e Y. Il box plot riassume un campione con quartili, mediana e valori anomali. La cascata costruisce un totale da passi positivi e negativi, con subtotali e totali lungo il percorso. L'area di intervallo riempie la banda tra un valore minimo e uno massimo, per un intervallo di previsione o un corridoio di tolleranza.

  • TsgcChartSeries_Bubble con AddBubble, MinBubbleSize, MaxBubbleSize e SizeMode, dimensionata in base all'area (cbsArea) o al diametro (cbsDiameter)
  • TsgcChartSeries_BoxPlot disegna minimo, quartili, mediana, massimo e una media facoltativa; AddValues calcola i quartili dal campione grezzo come Excel QUARTILE.INC e trova i valori anomali di Tukey
  • TsgcChartSeries_Waterfall con AddStep, AddSubtotal, AddTotal e ShowConnectors
  • TsgcChartSeries_RangeArea con AddRange per la banda minima e massima
  • Tutte e quattro sono presenti in ogni edizione, compresa l'edizione Community gratuita, su VCL, FireMonkey, WinForms, WPF e Avalonia
Leggi l'argomento della guida

Tipi di grafico

Linee morbide e barre di errore

Un rapporto di laboratorio mostra ogni misura con la sua incertezza, e l'andamento di una dashboard si legge meglio come curva che come zigzag. Imposta Smooth su una serie linea, area o area di intervallo e disegna una spline cubica monotona. La curva non supera mai i dati, quindi non mostra picchi o avvallamenti che i valori non hanno. Le barre di errore aggiungono l'incertezza di ogni punto alle serie linea, area, dispersione e barre, da un valore fisso, una percentuale, la deviazione standard della serie o valori personalizzati per punto.

  • Smooth su TsgcChartSeries_Line, TsgcChartSeries_Area e TsgcChartSeries_RangeArea
  • ErrorBars.Kind: cebFixed, cebPercent, cebStdDev o cebCustom con AddCustom
  • Direction: cedBoth, cedPlus o cedMinus, con terminatori la cui larghezza è data da CapWidth
  • L'asse dei valori si allarga da solo, quindi nessuna barra di errore viene tagliata
  • In ogni edizione, compresa l'edizione Community gratuita, su VCL, FireMonkey, WinForms, WPF e Avalonia
Leggi l'argomento della guida
Tre serie tracciate su tre assi dei valori separati

Tipi di grafico

Più assi su un solo grafico

Temperatura e pressione, ricavi e unità, prezzo e volume: i dati reali raramente condividono una sola scala. Aggiungi tutti gli assi che servono, mettili a sinistra, a destra, in alto o in basso e collega ogni serie alla sua coppia. Ogni asse sceglie il proprio tipo, intervallo e formato delle etichette, quindi un asse inferiore data e ora può stare sotto un asse sinistro numerico e un asse destro logaritmico. Ogni serie indica gli assi che usa, così due linee possono condividere l'asse sinistro mentre una terza usa quello destro. Gli assi fanno lo zoom in modo indipendente e ResetZoom li riporta all'intervallo completo.

  • Collezione Axes di TsgcChart, un TsgcChartAxis per ogni scala
  • AxisType: catNumeric, catLogarithmic, catDateTime o catCategory
  • Position: capLeft, capRight, capTop o capBottom
  • Minimum, Maximum, Automatic, LabelFormat e Inverted per ogni asse
Leggi l'argomento della guida

Grafici finanziari

Candele in ogni edizione, più il pacchetto finanziario: indicatori, pannelli, marcatori e strumenti di disegno.

Grafico candlestick di sgcCharts su un asse data e ora

Grafici finanziari

Grafici candlestick e OHLC sempre nitidi

Lo storico dei prezzi è il cuore di ogni schermata di trading. Le serie candlestick e OHLC tracciano apertura, massimo, minimo e chiusura dai tuoi dati o da un dataset, su un asse data e ora. Quando anni di barre incontrano una finestra stretta, le candele che cadono nella stessa colonna di pixel vengono unite in un'unica candela corretta (prima apertura, massimo più alto, minimo più basso, ultima chiusura, volume sommato), così il grafico non mostra mai un picco fuorviante. La serie OHLC disegna gli stessi dati come barre con tacche di apertura e chiusura, una scelta compatta per storici lunghi. Entrambe le serie funzionano con lo zoom, lo scorrimento e il mirino di ogni grafico.

  • TsgcChartSeries_Candlestick e TsgcChartSeries_OHLC condividono un unico buffer OHLC
  • TsgcChartDataSource_DataSet associa OpenField, HighField, LowField, CloseField e VolumeField
  • Unione delle candele per colonna di pixel con sgcChartDecimateOHLC
  • Entrambe le serie sono presenti in ogni edizione, compresa la build .NET Community gratuita
Leggi l'argomento della guida
Indicatori tecnici senza scrivere la matematica

Grafici finanziari Solo Registered

Indicatori tecnici senza scrivere la matematica

Gli analisti si aspettano medie mobili, bande di Bollinger, RSI e MACD sul grafico dei prezzi. Ogni indicatore è una serie: punta la sua Source a una serie candlestick e si ricalcola ogni volta che le candele cambiano. Nessuna formula da scrivere, testare o mantenere sincronizzata con i dati live. Gli oscillatori come RSI e Stochastic disegnano le linee guida di ipercomprato e ipervenduto, e ogni serie di indicatori compare nella legenda con il proprio colore. Mettili sul pannello dei prezzi oppure dai a ciascuno un pannello tutto suo.

  • Trend: TsgcChartSeries_SMA, TsgcChartSeries_EMA, TsgcChartSeries_WMA, TsgcChartSeries_Bollinger
  • Oscillatori: TsgcChartSeries_RSI, TsgcChartSeries_MACD, TsgcChartSeries_Stochastic, con GuideLines
  • Volatilità e volume: TsgcChartSeries_ATR, TsgcChartSeries_VWAP, TsgcChartSeries_Volume
  • Recalculate su richiesta, Values per leggere il risultato calcolato

La build .NET Community include le serie candlestick e OHLC ma non le serie di indicatori.

Leggi l'argomento della guida
Pannelli, marcatore dell'ultimo valore e banda bid e ask

Grafici finanziari Solo Registered

Pannelli, marcatore dell'ultimo valore e banda bid e ask

Un layout di trading impila prezzo, volume e un oscillatore in pannelli separati che condividono un solo asse temporale, così lo zoom sul prezzo lo applica a tutto ciò che sta sotto. Un marcatore sull'asse dei prezzi mostra a colpo d'occhio l'ultimo valore, e una banda colorata mostra lo spread corrente tra bid e ask mentre arrivano le quotazioni. Le altezze dei pannelli sono percentuali, quindi il layout si adatta alla finestra e sopravvive al ridimensionamento. Ogni pannello ha anche una proprietà Visible, così una schermata può offrire un pannello di indicatori solo quando l'utente lo chiede.

  • Collezione Panes di TsgcChartPane con HeightPercent; l'utente trascina il divisore tra i pannelli
  • Ogni asse viene assegnato a un pannello con la sua proprietà Pane
  • LastValueMarker con Color e Visible
  • BidAskBand con Bid, Ask, BidColor e AskColor
Leggi l'argomento della guida

Grafici finanziari Solo Registered

Strumenti di disegno per gli analisti

I trader segnano livelli di supporto, canali di tendenza e ritracciamenti direttamente sul grafico. Scegli uno strumento, trascina sull'area di tracciamento e il disegno resta ancorato alle coordinate dei dati, così rimane sulle candele giuste quando l'utente fa zoom o scorre. I disegni sono una collezione che puoi anche riempire da codice, bloccare contro le modifiche o rimuovere. Le linee possono essere continue, tratteggiate o puntinate, con colore e spessore propri. Poiché i disegni sono una normale collezione con coordinate semplici, puoi salvarli con lo spazio di lavoro dell'utente e riaggiungerli al riavvio successivo.

  • Interaction.DrawingTool: cdtTrendLine, cdtHorizontalLine, cdtVerticalLine, cdtRectangle, cdtFibonacci
  • Collezione Drawings con X1, Y1, X2, Y2, Color, Dash e Locked
  • DeleteSelectedDrawing rimuove il disegno selezionato dall'utente
  • Mostrato nella demo DrawingTools
Leggi l'argomento della guida

Annotazioni e modifica

Spiega i dati sul grafico e lascia che gli utenti modifichino il grafico a runtime.

Annotazioni e modifica

Annotazioni e display ISA-101

Una schermata operatore richiede il limite di allarme come linea, l'intervallo operativo normale come banda e una nota nel momento in cui è partito il batch. Le annotazioni sono posizionate in valori dati, quindi restano nel punto giusto quando l'utente fa zoom, scorre o arrivano nuovi punti. Un callout può indicare un punto dati fisso o seguire il punto più recente di una serie live. Per le sale di controllo, ApplyISA101Theme porta il grafico allo stile grigio e sobrio usato nei display HMI ISA-101. Il colore è riservato agli stati anomali, così i colori di allarme delle priorità da 1 a 4 risaltano su una schermata calma.

  • Raccolta Annotations su TsgcChart, un TsgcChartAnnotation per elemento
  • Kind: cakText, cakLine, cakHorizontalLine, cakVerticalLine, cakRectangle, cakHorizontalBand o cakCallout
  • AnchorSeries e AnchorPoint collegano un callout a un punto dati, e il valore predefinito -1 di AnchorPoint segue il punto più recente
  • Le annotazioni seguono il tema e l'alto contrasto di Windows, e gli screen reader leggono il loro testo
  • ApplyISA101Theme mantiene i colori di allarme delle priorità da 1 a 4

Le annotazioni e il preset ISA-101 sono presenti in ogni edizione, compresa l'edizione Community gratuita, su VCL, FireMonkey, WinForms, WPF e Avalonia. Il preset è descritto in Temi e palette.

Leggi l'argomento della guida
Designer di grafici, pagina Dati: tipo di grafico, serie da colonne o da righe, primi N, serie a torta, etichette dati, totali complessivi e le serie combinate di ogni misura

Annotazioni e modifica

Lascia che gli utenti modifichino il grafico

Prima che un grafico finisca in una presentazione, un utente vuole la linea delle vendite nel colore aziendale, un titolo dell'asse più chiaro e la serie dei resi nascosta. Con l'editor del grafico a runtime lo fa da solo, senza una nuova build dell'applicazione. Una sola chiamata apre una finestra in cui l'utente modifica titoli, legenda, assi e ogni serie: il colore, la visibilità, la smussatura e il tipo, cambiato in un altro tipo di serie compatibile.

Per un grafico collegato a una tabella tramite TsgcChartTableLink, il designer di grafici aggiunge una pagina Dati alla stessa finestra: il tipo di grafico (colonne raggruppate, in pila o in pila 100%, linee, aree, torta, ciambella o combinato), le serie da colonne o da righe, i primi N, la serie a torta, le etichette dati con un formato, la riga e la colonna del totale complessivo di un pivot, e il tipo di serie e l'asse di ogni misura di un grafico combinato. È il designer del grafico pivot di sgcPivotGrid e funziona con qualsiasi tabella tracciata dal collegamento. Solo Registered

  • ShowEditor su VCL, FireMonkey, WinForms e WPF
  • ShowEditorAsync su Avalonia
  • Titoli, legenda e assi in un'unica finestra
  • Per serie: colore, visibilità, Smooth e tipo di serie tra i tipi compatibili
  • sgcVCLShowChartDesigner e sgcFMXShowChartDesigner in Delphi, ShowDesigner e ShowDesignerAsync in .NET, e una voce Chart designer... nell'IDE di Delphi

L'editor del grafico a runtime è presente in ogni edizione, compresa l'edizione Community gratuita. Il designer di grafici e i tipi in pila 100%, torta, ciambella e combinato del collegamento alla tabella non sono nell'edizione Community; il collegamento alla tabella con barre, barre in pila, linee e aree sì.

Leggi l'argomento della guida Leggi l'argomento sul designer di grafici

Dati live ed esplorazione

Gestisci grandi quantità di dati e lascia che gli utenti guardino più da vicino.

Dati live ed esplorazione

Un milione di punti senza scatti

I log dei sensori, i livelli audio e i dati tick crescono senza fine. La serie linea veloce conserva i punti in un buffer circolare con una Capacity fissa, così la memoria resta stabile e i punti più vecchi escono. Al momento del disegno ogni serie riduce i punti visibili a circa un gruppo per colonna di pixel, e il grafico si ridisegna al massimo MaxFPS volte al secondo, a qualunque velocità arrivino i dati. La demo LiveLine trasmette in un buffer da 1.000.000 di punti da un thread in background. Nella demo puoi cambiare la frequenza del feed e la finestra visibile mentre è in esecuzione, così valuti il comportamento sul tuo hardware prima di scrivere una riga di codice.

  • TsgcChartSeries_FastLine con Capacity e BufferMode (cbmOverwrite o cbmGrow)
  • Decimation: dmNone, dmMinMax (visivamente esatta) o dmLTTB
  • TimeWindow mostra solo gli ultimi N secondi di un asse in streaming
  • AddXY e AddY aggiungono i punti man mano che arrivano
Leggi l'argomento della guida

Dati live ed esplorazione

Zoom, scorrimento, mirino e tooltip integrati

Gli utenti vogliono guardare più da vicino la parte interessante dei dati. Ogni grafico supporta già lo zoom con la rotellina, lo zoom ad area con il mouse, lo scorrimento e i gesti touch, con un mirino e un tooltip che si agganciano al punto più vicino. In un grafico in streaming, lo zoom mette in pausa lo scorrimento automatico, che riprende da solo dopo un ritardo a tua scelta. Ogni opzione è una proprietà, quindi una schermata da chiosco può disattivare l'interazione e una da analista può limitare lo zoom all'asse temporale. Lo stesso comportamento funziona nelle viste VCL, FireMonkey e .NET.

  • TsgcChartInteraction: WheelZoom, BoxZoom, Pan, ZoomMode (czmX, czmY, czmXY)
  • Crosshair, Tooltip e SnapToPoint
  • AutoScrollResumeDelay e Paused per i grafici live
  • Eventi OnZoom, OnCrosshairMove e OnSeriesClick, ResetZoom per tornare indietro
Leggi l'argomento della guida

Dati in ingresso, immagini in uscita

Collega i dati che hai, alimenta stream live e genera grafici ovunque.

Demo DataSetChart di sgcCharts con una griglia DB a sinistra e il grafico a destra

Dati in ingresso, immagini in uscita

Collega CSV, JSON o qualsiasi TDataSet

La maggior parte dei grafici mostra dati che hai già: il risultato di una query, un file esportato, una risposta REST o le righe di una griglia. Le sorgenti dati li caricano in una serie senza un ciclo di chiamate AddXY. Indica i campi o le colonne, chiama Refresh quando i dati cambiano e il grafico segue. La sorgente dataset associa anche i campi di apertura, massimo, minimo, chiusura e volume per le candele. Le sorgenti dati sono componenti, quindi le configuri in fase di progettazione nell'Object Inspector. Imposta Live e il grafico segue il dataset senza scrivere codice: quando un utente salva, elimina o inserisce un record in una griglia, o cambia il filtro, il grafico si ricarica.

  • TsgcChartDataSource_DataSet legge qualsiasi TDataSet tramite XField, YField e LabelField
  • Live segue salvataggi, eliminazioni, inserimenti e filtri tramite un TDataLink, con limitazione della frequenza, così una raffica di modifiche costa un solo ricaricamento; in .NET, Live segue le modifiche di una DataTable
  • FollowCursor sposta il punto in evidenza mentre l'utente scorre il dataset (Delphi)
  • ExtraFields alimenta le colonne di dimensione, minimo, quartile o tipo delle serie a bolle, area di intervallo, box plot e cascata
  • TsgcChartDataSource_CSV e TsgcChartDataSource_JSON per file e risposte API
  • TsgcChartDataSource_Table per una tabella in memoria, per esempio le righe di una sgcGrid
  • TsgcChartDataSource_Manual per punti inviati da codice o da un thread in background
Leggi l'argomento della guida

Dati in ingresso, immagini in uscita Solo Registered

Feed di mercato e IoT live senza codice di raccordo

Collega un grafico a un broker o a uno stream di mercato e traccia ogni messaggio appena arriva. Il ponte sgcChartsWS aggancia l'evento messaggio di un client sgcWebSockets e converte il JSON in punti o candele. La sorgente Binance può costruire candele dai trade grezzi con un aggregatore su intervalli da un secondo a un mese. Quando una sorgente si ferma, ripristina il gestore di eventi precedente del client.

  • TsgcChartDataSource_Binance: Symbol, Stream (cbsKLine, cbsTicker, cbsTrade), Interval
  • TsgcChartDataSource_MQTT con TopicFilter e PayloadFormat
  • TsgcChartDataSource_WebSocket e TsgcChartDataSource_SSE per JSON su WebSocket o server-sent events
  • TsgcChartAggregator trasforma i trade in candele con AddTrade

Il ponte richiede sgcWebSockets. In Community, alimenta il grafico dal tuo codice con la sorgente dati manuale.

Leggi l'argomento della guida

Dati in ingresso, immagini in uscita

PNG e SVG su un server, senza finestra

I grafici spesso lasciano lo schermo: un'e-mail di report giornaliera, un PDF, una pagina web o un endpoint REST che restituisce un'immagine. TsgcChartRenderer disegna lo stesso modello di grafico in PNG o SVG senza form e senza ciclo di messaggi, in un'applicazione console, in un servizio Windows o in un server Linux64 compilato con Delphi 10.2 o successivo. Sullo schermo, le viste salvano ciò che l'utente vede con una sola chiamata. L'output usa lo stesso tema, gli stessi font e la stessa palette dello schermo, quindi un grafico in un PDF è identico a quello della dashboard.

  • RenderToPNGFile, RenderToPNGStream, RenderToSVGFile, RenderToSVGStream
  • Width, Height e Scale per immagini ad alta densità
  • SaveToPNG e SaveToSVG su TsgcVCLChart
  • Demo Headless e HeadlessService; in .NET il pacchetto esegece.sgcCharts.Rendering
Leggi l'argomento della guida

Accessibilità

UI Automation per screen reader, tastiera e alto contrasto, senza alcuna configurazione.

Accessibilità

Un grafico esposto a UI Automation punto per punto

sgcCharts espone il grafico a Microsoft UI Automation con il titolo, gli assi, la legenda, le serie e i punti dati. Ogni punto espone la sua categoria e il suo valore, e il grafico si descrive con lo stesso testo alternativo che scrive in un PDF accessibile.

  • Sinistra e Destra passano al punto dati precedente o successivo, Su e Giù alla serie precedente o successiva, Home e End al primo o all'ultimo punto
  • PagÙp e PagÙgiù saltano di un decimo dei punti, Invio attiva il punto con il focus come un clic e Esc rimuove il focus dal punto
  • Il grafico è un tab stop e mostra un anello di focus visibile
  • Con un tema Windows ad alto contrasto le serie usano i colori di sistema e, dove il tipo di serie lo consente, si distinguono per motivi di linea e marcatori

L'accessibilità è attiva per impostazione predefinita in tutte le edizioni, compresa l'edizione Community gratuita, su VCL in ogni versione di Delphi e C++Builder da Delphi 7 a Delphi 13, su FireMonkey su Windows e su WinForms, WPF e Avalonia. In Delphi e C++Builder, AccessibleName e AccessibleDescription impostano il nome e la descrizione esposti a UI Automation, e in .NET il nome accessibile e il testo della guida standard di ciascun framework fanno lo stesso. Vedi i report di conformità sull'accessibilità. Lo zoom e lo spostamento con il mouse e gli strumenti di disegno finanziari non hanno un'alternativa da tastiera.

Leggi l'argomento della guida

Guarda sgcCharts all'opera

sgcCharts nelle demo della suite sgcUI: applicazioni complete che funzionano offline con dati simulati integrati.

Misurato nelle demo e nella guida

Dati della demo LiveLine inclusa e del riferimento sulla decimazione, così puoi riprodurli da solo.

MisurazioneRisultatoCondizioni
Punti nel buffer circolare di LiveLine1.000.000TsgcChartSeries_FastLine alimentata da un thread in background tramite TsgcChartDataSource_Manual
Punti conservati per colonna di pixelal massimo 4Decimazione dmMinMax: primo, minimo, massimo e ultimo punto

Fonte: l'argomento della guida che documenta questi numeri.

Chi sviluppa con sgcCharts

Piattaforme di trading e crypto

Un'applicazione da scrivania mostra le candele del simbolo selezionato, medie mobili e bande di Bollinger sul pannello dei prezzi, RSI e volume nei pannelli sotto, e la banda bid e ask mentre arrivano le quotazioni. Gli analisti disegnano linee di tendenza e livelli di Fibonacci che restano ancorati quando fanno zoom. La sorgente Binance costruisce le candele direttamente dallo stream dell'exchange.

  • Serie candlestick
  • Indicatori e pannelli
  • Strumenti di disegno
  • Sorgente dati Binance
Esegui la demo BinanceLive

Monitoraggio industriale e IoT

Un client di sala di controllo traccia decine di sensori contemporaneamente. Le serie linea veloce con buffer circolari conservano ore di letture in memoria fissa, una finestra temporale mostra gli ultimi minuti e la decimazione mantiene leggero il ridisegno. I topic MQTT alimentano direttamente i grafici e una heatmap mostra quali macchine si scaldano.

  • Linea veloce e buffer circolare
  • Finestra temporale
  • Sorgente dati MQTT
  • Heatmap
Esegui la demo MQTTSensors

Report aziendali e immagini generate

Un servizio di back office genera la ciambella dei ricavi settimanali, l'imbuto delle vendite e un andamento di dodici mesi in PNG per l'e-mail alla direzione e in SVG per l'intranet. Lo stesso codice del grafico gira anche dentro l'applicazione desktop, collegato allo stesso dataset, così numeri e colori coincidono sempre.

  • Ciambella e imbuto
  • Sorgente dati DataSet
  • TsgcChartRenderer
  • Temi
Esegui la demo Headless

Una ciambella in poche righe

La stessa API in Delphi, C++ Builder e C#: i ricavi per regione come ciambella con una fetta Altri, su tema scuro, esportati in PNG.

Costruisce il modello, una serie torta con un foro del 55 percento, una vista VCL e un renderer che scrive un PNG da 1200 x 700.

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;

Leggi l'argomento della guida →

La stessa ciambella in C++ Builder, con gli header sgcCharts_*.hpp generati.

#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);
}

Leggi l'argomento della guida →

Headless in C#: lo stesso modello reso in PNG senza finestra, dal pacchetto Rendering.

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

Leggi l'argomento della guida →

Esegui le demo di sgcCharts

19 demo per Delphi, le stesse 19 per C++ Builder e 12 per .NET, tutte nel download delle demo compilate. Sono quelle che mostrano le funzionalità qui sopra.

LiveLine

LiveLine

Una serie linea veloce con un buffer circolare da 1.000.000 di punti alimentato da un thread in background, una finestra temporale di 10 s, 60 s o dell'intero buffer, un cambio di tema e un mirino su tutto lo stream.

Candlestick

Candele giornaliere su un asse data e ora con un asse dei volumi. Zoom e scorrimento con il mouse; dove molte candele condividono una colonna di pixel, si uniscono in un'unica candela corretta.

Solo Registered DrawingTools

Linee di tendenza, linee orizzontali e verticali, rettangoli e ritracciamenti di Fibonacci disegnati con il mouse su un grafico candlestick, poi selezionati, bloccati o eliminati.

DataSetChart

DataSetChart

Un client dataset di 1.000 righe mostrato in una griglia DB e letto da due sorgenti dataset in una serie linea e una serie barre. Modifica una riga, ricarica e il grafico segue.

BusinessCharts

BusinessCharts

Serie a bolle, box plot, cascata e area di intervallo morbida con barre di errore, annotazioni e una linea di allarme ISA-101, il tema ISA-101 e l'editor dei grafici a runtime, su un dataset live che il grafico segue. Disponibile anche in .NET come BusinessCharts, BusinessChartsWpf e BusinessChartsAvalonia. Disponibile anche per FireMonkey come BusinessChartsFMX.

Solo Registered BinanceLive

Candele live da uno stream di mercato Binance tramite il ponte sgcChartsWS, su un grafico finanziario con pannelli e indicatori. Richiede sgcWebSockets.

Solo Registered MQTTSensors

Letture di sensori alimentate da topic MQTT tramite il ponte sgcChartsWS e tracciate appena arrivano. Richiede sgcWebSockets e un broker MQTT.

Headless

Un programma console che costruisce un grafico e scrive file PNG e SVG senza finestra. HeadlessService fa lo stesso da un servizio Windows.

Demo compilate

Eseguibili pronti all'uso di ogni prodotto sgcUI, senza nulla da installare.

Scarica sgcUI_bin.zip →

Dove è incluso sgcCharts

sgcCharts è in sgcUI Professional ed Enterprise e si vende anche da solo. sgcCharts è incluso anche nel bundle All-Access.

sgcCharts come pacchetto singolo

€199 / sviluppatore, codice sorgente completo, 1 anno di aggiornamenti.

Acquista sgcCharts → Vedi i prezzi →

sgcUI Professional

Standard più sgcCharts, sgcDashboard e sgcGauges, da €529.

Vedi Professional →

sgcUI Enterprise

Tutti i 15 prodotti sgcUI, da €699.

Vedi Enterprise →

L'edizione Community gratuita (esegece.sgcCharts.Community su NuGet) ha tutte e diciassette le serie, le annotazioni, le barre di errore, il preset ISA-101, l'editor a runtime, le viste, i buffer, le sorgenti manuale, CSV, JSON e dataset, l'interazione e l'output headless. Non include il pacchetto finanziario (serie di indicatori e di volume, pannelli, aggregatore, strumenti di disegno, marcatore dell'ultimo valore, banda bid e ask), il designer di grafici con i tipi avanzati di collegamento alla tabella e il ponte sgcChartsWS.

FunzionalitàCommunity (gratuita)Registered
17 tipi di serie, candlestick e OHLC inclusi✓✓
Linea veloce, buffer circolari e decimazione✓✓
Zoom, scorrimento, mirino e tooltip✓✓
Sorgenti dati manuale, CSV, JSON e dataset live✓✓
Temi, esportazione PNG e SVG, renderer headless✓✓
Annotazioni, barre di errore, preset ISA-101 ed editor del grafico a runtime✓✓
Serie di indicatori e di volume−✓
Pannelli, marcatore dell'ultimo valore, banda bid e ask−✓
Strumenti di disegno e aggregatore dei trade−✓
Feed live sgcChartsWS (Binance, MQTT, WebSocket, SSE)−✓
Designer di grafici per i collegamenti alle tabelle, con i tipi in pila 100%, torta, ciambella e combinato−✓

Framework e piattaforme supportati

Componenti di sgcCharts

ComponenteCos'è
TsgcChartIl modello del grafico: assi, serie, legenda, tema e interazione.
TsgcVCLChart, TsgcFMXChartLe viste per VCL e FireMonkey.
TsgcChartRendererRendering headless in PNG e SVG, anche in un servizio e su Linux64.
TsgcChartSeries_*I 17 tipi di serie e le serie di indicatori finanziari.
TsgcChartDataSource_Manual, _CSV, _JSON, _DataSet, _TableSorgenti dati per punti, file, dataset e tabelle.
TsgcChartDataSource_WebSocket, _MQTT, _SSE, _BinanceSorgenti di feed live del ponte sgcChartsWS (solo Registered).
TargetComponentePiattaforme
Delphi 7 a 13, VCLTsgcVCLChartWin32 e Win64
Delphi XE6 a 13, FireMonkeyTsgcFMXChartWindows, macOS, iOS e Android
C++ Builder 2007 a 13TsgcVCLChart, TsgcFMXChartHeader .hpp generati e librerie statiche
Delphi 10.2 a 13, headlessModello e TsgcChartRendererLinux64, PNG e SVG su un server
.NET Framework 4.7.2, .NET 8, 9 e 10TsgcWinFormsChart, TsgcWpfChart, TsgcAvaloniaChartWinForms, WPF, Avalonia 12 e rendering headless

Domande frequenti

La demo LiveLine trasmette in una serie linea veloce con un buffer circolare da 1.000.000 di punti da un thread in background. La memoria resta fissa perché il buffer ha una Capacity definita, la decimazione riduce i punti visibili a pochi per colonna di pixel e MaxFPS limita la frequenza di ridisegno. Esegui la demo compilata per vederlo sul tuo computer.

Diciassette: linea, linea veloce, linea a gradini, area, area di intervallo, barre, dispersione, bolle, candlestick, OHLC, torta e ciambella, radar, heatmap, treemap, imbuto, box plot e cascata. Ognuno è un componente, quindi puoi combinarne diversi su un solo grafico, con tutti gli assi che servono.

No. Community include le serie candlestick e OHLC ma non le serie di indicatori e di volume, i pannelli, l'aggregatore, gli strumenti di disegno, il marcatore dell'ultimo valore e la banda bid e ask. Queste, insieme ai feed live sgcChartsWS, richiedono l'edizione Registered. Vedi Editions nella guida.

Sì. SaveToPNG e SaveToSVG salvano ciò che mostra una vista, e TsgcChartRenderer genera un modello di grafico in file o stream PNG o SVG senza finestra, con la larghezza, l'altezza e la scala che scegli. È la strada abituale verso un PDF o il corpo di un'e-mail.

Sì, in modalità headless. Da Delphi 10.2, il modello del grafico e TsgcChartRenderer si compilano per Linux64 e scrivono PNG e SVG. Non esiste un controllo di visualizzazione per Linux. In .NET, il pacchetto esegece.sgcCharts.Rendering supporta .NET Standard 2.0, .NET Framework 4.7.2 e .NET 6, 8, 9 e 10.

Punti manuali, CSV, JSON, qualsiasi TDataSet e una tabella in memoria in ogni licenza di prodotto. Con l'edizione Registered e sgcWebSockets, il ponte sgcChartsWS aggiunge gli stream di mercato Binance, i topic MQTT, il JSON su WebSocket e i server-sent events.

Guida di sgcCharts

3,000+Sviluppatori
20+Anni
761+Componenti
30+Integrazioni API
5Piattaforme
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

Prova sgcCharts oggi

Il trial di sgcUI include sgcCharts e tutti gli altri prodotti sgcUI.