Delphi, C++ Builder & .NET Onderdeel van sgcUI

sgcCharts, grafieken voor Delphi, C++ Builder & .NET

Eén grafiekbibliotheek voor dashboards, analyses en handelsschermen. Zeventien seriesoorten van lijn tot waterval, de indicatoren SMA, RSI, MACD en Bollinger, live feeds, zoomen en tekengereedschappen, en PNG- of SVG-export. De LiveLine-demo streamt 1.000.000 punten door een ringbuffer.

VCL, FireMonkey, WinForms, WPF, Avalonia17 seriesoorten in één modelLiveLine-demo: 1.000.000 punten in een ringbufferInbegrepen in sgcUI Professional
sgcCharts-candlestickgrafiek met Bollinger-banden, voortschrijdende gemiddelden, volume, RSI en tekengereedschappen

Alles wat een grafiekbibliotheek nodig heeft

Achttien mogelijkheden in zeven groepen. Elke mogelijkheid noemt het echte component of de echte eigenschap en linkt naar het bijbehorende helponderwerp. Functies met het label Geregistreerd zitten niet in de gratis .NET Community-build.

Grafiektypen

Eén model, zeventien seriesoorten en zoveel assen als de gegevens nodig hebben.

sgcCharts-vlakgrafiek, gerenderd vanuit de seriegalerij

Grafiektypen

Zeventien grafiektypen op één grafiekmodel

Een verkoopscherm heeft staven en een donut nodig, een labscherm spreiding en heatmap, een handelsscherm candles. sgcCharts dekt alles af met één model: elke serie is een component dat je op het formulier zet of in code aanmaakt, aan een TsgcChart koppelt en vrij met de andere combineert. Leer de API één keer en gebruik hem op elk scherm.

  • Lijn, snelle lijn, trapjeslijn, vlak, bereikvlak, staaf, spreiding, bubbel, candlestick en OHLC op numerieke, datum-tijd-, logaritmische of categorieassen
  • Taart en donut, radar, heatmap, treemap, trechter, boxplot en waterval voor categoriegegevens
  • TsgcChartSeries_Bar tekent verticale of horizontale staven, gegroepeerd of gestapeld (Grouping)
  • Alle zeventien zitten in elke editie, ook in de gratis .NET Community-build
  • Rechts naar links voor Arabisch en Hebreeuws: de titel, de legenda, de tooltips, de werkbalk en de bereikselector zijn gespiegeld, en MirrorPlot spiegelt ook het plotgebied en de assen
Het helponderwerp lezen
sgcCharts-treemap met drill-down naast een verkooptrechter

Grafiektypen

Donut, treemap en trechter voor bedrijfsgegevens

Managementrapporten vragen om aandelen, hiërarchieën en conversiefasen. De taartserie wordt met één eigenschap een donut en vouwt de lange staart van kleine segmenten samen tot één segment Overig, zodat de grafiek leesbaar blijft. De treemap bepaalt de grootte van geneste rechthoeken op waarde en boort door bij een klik, en de trechter toont elke fase van een verkoop- of supportproces met het bijbehorende percentage. Labels kunnen binnen of buiten de segmenten staan en de treemap kleurt zijn rechthoeken per groep of per waarde met een kleurschaal. Elke serie volgt het grafiekthema, zodat het rapport aansluit op de rest van de toepassing.

  • InnerRadiusPercent maakt de donut, OthersThreshold en OthersText groeperen kleine segmenten
  • ExplodeOnClick trekt een segment los wanneer de gebruiker erop klikt
  • TsgcChartSeries_Treemap met DrillOnClick, DrillUp en de gebeurtenis OnDrill
  • TsgcChartSeries_Funnel met NeckWidthPercent en ProportionalHeight
Het helponderwerp lezen

Grafiektypen

Bubbel, boxplot, waterval en bereikvlak

Een financieel team wil de winstbrug van budget naar werkelijk, een kwaliteitsingenieur wil de spreiding van de doorlooptijden per dienst, en een productmanager wil omzet, marge en personeelsbezetting in één grafiek. Vier series dekken deze gevallen. De bubbelserie voegt een grootte toe aan X en Y. De boxplot vat een steekproef samen met kwartielen, mediaan en uitschieters. De waterval bouwt een totaal op uit positieve en negatieve stappen, met onderweg subtotalen en totalen. Het bereikvlak vult de band tussen een lage en een hoge waarde, voor een prognose-interval of een tolerantiecorridor.

  • TsgcChartSeries_Bubble met AddBubble, MinBubbleSize, MaxBubbleSize en SizeMode, geschaald op oppervlakte (cbsArea) of op diameter (cbsDiameter)
  • TsgcChartSeries_BoxPlot tekent minimum, kwartielen, mediaan, maximum en een optioneel gemiddelde; AddValues berekent de kwartielen uit de ruwe steekproef zoals Excel QUARTILE.INC en vindt de Tukey-uitschieters
  • TsgcChartSeries_Waterfall met AddStep, AddSubtotal, AddTotal en ShowConnectors
  • TsgcChartSeries_RangeArea met AddRange voor de lage en de hoge band
  • Alle vier zitten in elke editie, ook in de gratis Community-editie, op VCL, FireMonkey, WinForms, WPF en Avalonia
Het helponderwerp lezen

Grafiektypen

Vloeiende lijnen en foutbalken

Een laboratoriumrapport toont elke meting met haar onzekerheid, en een trend op een dashboard leest beter als een curve dan als een zigzag. Zet Smooth op een lijn-, vlak- of bereikvlakserie en die tekent een monotone kubische spline. De curve schiet de gegevens nooit voorbij, dus er verschijnt geen piek of dal die de waarden niet hebben. Foutbalken voegen de onzekerheid van elk punt toe aan lijn-, vlak-, spreidings- en staafseries, uit een vaste waarde, een percentage, de standaarddeviatie van de serie of eigen waarden per punt.

  • Smooth op TsgcChartSeries_Line, TsgcChartSeries_Area en TsgcChartSeries_RangeArea
  • ErrorBars.Kind: cebFixed, cebPercent, cebStdDev of cebCustom met AddCustom
  • Direction: cedBoth, cedPlus of cedMinus, met eindstreepjes waarvan CapWidth de grootte bepaalt
  • De waardeas wordt zelf breder, zodat geen foutbalk wordt afgesneden
  • In elke editie, ook in de gratis Community-editie, op VCL, FireMonkey, WinForms, WPF en Avalonia
Het helponderwerp lezen
Drie series geplot op drie afzonderlijke waardeassen

Grafiektypen

Meerdere assen op één grafiek

Temperatuur en druk, omzet en aantallen, prijs en volume: echte gegevens delen zelden één schaal. Voeg zoveel assen toe als je nodig hebt, plaats ze links, rechts, boven of onder en koppel elke serie aan zijn eigen paar. Elke as kiest zijn eigen type, bereik en labelnotatie, zodat een datum-tijd-as onderaan onder een numerieke as links en een logaritmische as rechts kan staan. Elke serie noemt de assen die ze gebruikt, zodat twee lijnen de linkeras kunnen delen terwijl een derde de rechter gebruikt. Assen zoomen onafhankelijk en ResetZoom brengt ze terug naar het volledige bereik.

  • Axes-collectie op TsgcChart, één TsgcChartAxis per schaal
  • AxisType: catNumeric, catLogarithmic, catDateTime of catCategory
  • Position: capLeft, capRight, capTop of capBottom
  • Minimum, Maximum, Automatic, LabelFormat en Inverted per as
Het helponderwerp lezen

Financiële grafieken

Candles in elke editie, plus het financiële pakket: indicatoren, panelen, markeringen en tekengereedschappen.

sgcCharts-candlestickgrafiek op een datum-tijd-as

Financiële grafieken

Candlestick- en OHLC-grafieken die scherp blijven

Koershistorie is de kern van elk handelsscherm. De candlestick- en OHLC-series plotten open, hoog, laag en slot uit je eigen gegevens of uit een dataset, op een datum-tijd-as. Wanneer jaren aan staven in een smal venster passen, worden candles die in dezelfde pixelkolom vallen samengevoegd tot één correcte candle (eerste open, hoogste hoog, laagste laag, laatste slot, opgetelde volume), zodat de grafiek nooit een misleidende piek toont. De OHLC-serie tekent dezelfde gegevens als staven met open- en slotstreepjes, een compacte keuze voor lange historieën. Beide series werken met het zoomen, pannen en de crosshair van elke grafiek.

  • TsgcChartSeries_Candlestick en TsgcChartSeries_OHLC delen één OHLC-buffer
  • TsgcChartDataSource_DataSet koppelt OpenField, HighField, LowField, CloseField en VolumeField
  • Samenvoegen van candles per pixelkolom door sgcChartDecimateOHLC
  • Beide series zitten in elke editie, ook in de gratis .NET Community-build
Het helponderwerp lezen
Technische indicatoren zonder zelf te rekenen

Financiële grafieken Alleen geregistreerd

Technische indicatoren zonder zelf te rekenen

Analisten verwachten voortschrijdende gemiddelden, Bollinger-banden, RSI en MACD op de koersgrafiek. Elke indicator is een serie: wijs zijn Source naar een candlestickserie en hij wordt opnieuw berekend zodra de candles veranderen. Geen formules om te coderen, te testen of gelijk te houden met live gegevens. Oscillatoren zoals RSI en Stochastic tekenen hun overbought- en oversold-hulplijnen en elke indicatorserie verschijnt in de legenda met een eigen kleur. Zet ze op het koerspaneel of geef elk een eigen paneel.

  • Trend: TsgcChartSeries_SMA, TsgcChartSeries_EMA, TsgcChartSeries_WMA, TsgcChartSeries_Bollinger
  • Oscillatoren: TsgcChartSeries_RSI, TsgcChartSeries_MACD, TsgcChartSeries_Stochastic, met GuideLines
  • Volatiliteit en volume: TsgcChartSeries_ATR, TsgcChartSeries_VWAP, TsgcChartSeries_Volume
  • Recalculate op verzoek, Values om de berekende uitvoer te lezen

De .NET Community-build bevat de candlestick- en OHLC-series, maar niet de indicatorseries.

Het helponderwerp lezen
Panelen, een laatstewaardemarkering en de bied- en laatband

Financiële grafieken Alleen geregistreerd

Panelen, een laatstewaardemarkering en de bied- en laatband

Een handelslay-out stapelt koers, volume en een oscillator in afzonderlijke panelen die één tijdas delen, zodat zoomen op de koers alles eronder meezoomt. Een markering op de koersas toont in één oogopslag de laatste waarde en een gearceerde band toont de actuele spread tussen bied- en laatkoers terwijl de koersen binnenstromen. Paneelhoogtes zijn percentages, zodat de lay-out meeschaalt met het venster en een formaatwijziging overleeft. Elk paneel heeft ook een eigenschap Visible, zodat een scherm een indicatorpaneel alleen kan tonen wanneer de gebruiker erom vraagt.

  • Panes-collectie van TsgcChartPane met HeightPercent; de gebruiker sleept de splitter tussen panelen
  • Elke as wordt aan een paneel toegewezen met zijn eigenschap Pane
  • LastValueMarker met Color en Visible
  • BidAskBand met Bid, Ask, BidColor en AskColor
Het helponderwerp lezen

Financiële grafieken Alleen geregistreerd

Tekengereedschappen voor analisten

Handelaren markeren steunniveaus, trendkanalen en retracements rechtstreeks op de grafiek. Kies een gereedschap, sleep over de plot en de tekening wordt verankerd aan gegevenscoördinaten, zodat ze op de juiste candles blijft staan wanneer de gebruiker zoomt of pant. Tekeningen zijn een collectie die je ook vanuit code kunt vullen, tegen bewerken kunt vergrendelen of kunt verwijderen. Lijnen kunnen doorgetrokken, gestreept of gestippeld zijn, met eigen kleur en breedte. Omdat tekeningen een gewone collectie met eenvoudige coördinaten zijn, kun je ze bij de werkruimte van de gebruiker opslaan en bij de volgende start weer toevoegen.

  • Interaction.DrawingTool: cdtTrendLine, cdtHorizontalLine, cdtVerticalLine, cdtRectangle, cdtFibonacci
  • Drawings-collectie met X1, Y1, X2, Y2, Color, Dash en Locked
  • DeleteSelectedDrawing verwijdert de tekening die de gebruiker heeft geselecteerd
  • Te zien in de DrawingTools-demo
Het helponderwerp lezen

Annotaties en bewerken

Verklaar de gegevens in de grafiek en laat gebruikers de grafiek tijdens runtime aanpassen.

Annotaties en bewerken

Annotaties en ISA-101-schermen

Een operatorscherm heeft de alarmgrens nodig als lijn, het normale werkbereik als band en een notitie op het moment dat de batch begon. Annotaties worden in gegevenswaarden geplaatst, dus ze blijven op de juiste plek wanneer de gebruiker zoomt, pant of er nieuwe punten binnenkomen. Een callout kan naar een vast gegevenspunt wijzen of het nieuwste punt van een live serie volgen. Voor controlekamers zet ApplyISA101Theme de grafiek in de grijze, ingetogen stijl van ISA-101-HMI-schermen. Kleur blijft gereserveerd voor afwijkende toestanden, zodat de alarmkleuren van prioriteit 1 tot 4 opvallen op een rustig scherm.

  • Verzameling Annotations op TsgcChart, één TsgcChartAnnotation per item
  • Kind: cakText, cakLine, cakHorizontalLine, cakVerticalLine, cakRectangle, cakHorizontalBand of cakCallout
  • AnchorSeries en AnchorPoint koppelen een callout aan een gegevenspunt, en de standaardwaarde -1 van AnchorPoint volgt het nieuwste punt
  • Annotaties volgen het thema en hoog contrast van Windows, en schermlezers lezen hun tekst voor
  • ApplyISA101Theme bewaart de alarmkleuren van prioriteit 1 tot 4

Annotaties en de ISA-101-voorinstelling zitten in elke editie, ook in de gratis Community-editie, op VCL, FireMonkey, WinForms, WPF en Avalonia. De voorinstelling wordt beschreven in Thema's en palet.

Het helponderwerp lezen
Grafiekontwerper, pagina Gegevens: grafiektype, reeksen uit kolommen of rijen, Top N, cirkelreeks, gegevenslabels, eindtotalen en de combinatiereeksen van elke maatstaf

Annotaties en bewerken

Laat gebruikers de grafiek bewerken

Voordat een grafiek in een presentatie belandt, wil een gebruiker de verkooplijn in de huiskleur, een duidelijkere astitel en de serie met retouren verborgen. Met de grafiekeditor tijdens runtime doet hij dat zelf, zonder nieuwe build van de applicatie. Eén aanroep opent een dialoogvenster waarin de gebruiker de titels, de legenda, de assen en elke serie bewerkt: de kleur, de zichtbaarheid, de afvlakking en het type, te wijzigen naar een andere compatibele seriesoort.

Voor een grafiek die via TsgcChartTableLink aan een tabel is gekoppeld, voegt de grafiekontwerper een pagina Gegevens toe aan hetzelfde dialoogvenster: het grafiektype (gegroepeerde, gestapelde of 100% gestapelde kolommen, lijn, vlak, cirkel, donut of combinatie), reeksen uit kolommen of rijen, Top N, de cirkelreeks, gegevenslabels met een opmaak, de eindtotaalrij en -kolom van een pivot, en het reekstype en de as van elke maatstaf van een combinatiegrafiek. Het is de ontwerper van de draaigrafiek van sgcPivotGrid en werkt met elke tabel die de koppeling tekent. Alleen geregistreerd

  • ShowEditor op VCL, FireMonkey, WinForms en WPF
  • ShowEditorAsync op Avalonia
  • Titels, legenda en assen in één dialoogvenster
  • Per serie: kleur, zichtbaarheid, Smooth en de seriesoort binnen compatibele soorten
  • sgcVCLShowChartDesigner en sgcFMXShowChartDesigner in Delphi, ShowDesigner en ShowDesignerAsync in .NET, en een verb Chart designer... in de Delphi-IDE

De grafiekeditor tijdens runtime zit in elke editie, ook in de gratis Community-editie. De grafiekontwerper en de typen 100% gestapeld, cirkel, donut en combinatie van de tabelkoppeling zitten niet in de Community-editie; de tabelkoppeling met staaf, gestapelde staaf, lijn en vlak wel.

Het helponderwerp lezen Lees het onderwerp over de grafiekontwerper

Live gegevens en verkennen

Stream grote gegevenssets en laat gebruikers van dichterbij kijken.

Live gegevens en verkennen

Een miljoen punten zonder haperen

Sensorlogs, audioniveaus en tickgegevens groeien eindeloos. De serie met snelle lijn bewaart zijn punten in een ringbuffer met een vaste Capacity, zodat het geheugengebruik gelijk blijft en de oudste punten afvallen. Bij het tekenen reduceert elke serie de zichtbare punten tot ongeveer één set per pixelkolom en de grafiek wordt hooguit MaxFPS keer per seconde opnieuw getekend, hoe snel de gegevens ook binnenkomen. De LiveLine-demo streamt vanuit een achtergrondthread naar een buffer van 1.000.000 punten. In de demo kun je tijdens het draaien de feedsnelheid en het zichtbare venster wijzigen, zodat je het gedrag op je eigen hardware kunt beoordelen voordat je een regel code schrijft.

  • TsgcChartSeries_FastLine met Capacity en BufferMode (cbmOverwrite of cbmGrow)
  • Decimation: dmNone, dmMinMax (visueel exact) of dmLTTB
  • TimeWindow toont alleen de laatste N seconden van een streamende as
  • AddXY en AddY voegen punten toe zodra ze binnenkomen
Het helponderwerp lezen

Live gegevens en verkennen

Zoomen, pannen, crosshair en tooltips ingebouwd

Gebruikers willen het interessante deel van de gegevens van dichterbij bekijken. Elke grafiek ondersteunt al zoomen met het muiswiel, zoomen met een kader, pannen en touchgebaren, met een crosshair en een tooltip die naar het dichtstbijzijnde punt springen. Bij een streamende grafiek pauzeert zoomen het automatisch scrollen en dat hervat zichzelf na een vertraging die je zelf kiest. Elke optie is een eigenschap, zodat een kioskscherm interactie kan uitschakelen en een analistenscherm zoomen tot de tijdas kan beperken. Hetzelfde gedrag werkt in de VCL-, FireMonkey- en .NET-weergaven.

  • TsgcChartInteraction: WheelZoom, BoxZoom, Pan, ZoomMode (czmX, czmY, czmXY)
  • Crosshair, Tooltip en SnapToPoint
  • AutoScrollResumeDelay en Paused voor live grafieken
  • De gebeurtenissen OnZoom, OnCrosshairMove en OnSeriesClick, ResetZoom om terug te gaan
Het helponderwerp lezen

Gegevens erin, beelden eruit

Koppel de gegevens die je hebt, voed live streams en render grafieken overal.

sgcCharts DataSetChart-demo met een DB-grid links en de grafiek rechts

Gegevens erin, beelden eruit

CSV, JSON of elke TDataSet koppelen

De meeste grafieken tonen gegevens die je al hebt: een queryresultaat, een geëxporteerd bestand, een REST-antwoord of de rijen van een grid. Gegevensbronnen laden ze in een serie zonder een lus van AddXY-aanroepen. Geef de velden of kolommen een naam, roep Refresh aan nadat de gegevens zijn gewijzigd en de grafiek volgt. De datasetbron koppelt ook velden voor open, hoog, laag, slot en volume voor candles. Gegevensbronnen zijn componenten, dus je stelt ze in tijdens het ontwerpen in de Object Inspector. Zet Live aan en de grafiek volgt de dataset zonder code: wanneer een gebruiker in een grid een record opslaat, verwijdert of invoegt, of het filter wijzigt, laadt de grafiek opnieuw.

  • TsgcChartDataSource_DataSet leest elke TDataSet via XField, YField en LabelField
  • Live volgt opslaan, verwijderen, invoegen en filteren via een TDataLink, met vertraging, zodat een reeks wijzigingen één herlaadbeurt kost; in .NET volgt Live de wijzigingen van een DataTable
  • FollowCursor verplaatst het gefocuste punt wanneer de gebruiker door de dataset bladert (Delphi)
  • ExtraFields voedt de kolommen voor grootte, laag, kwartiel of soort van de bubbel-, bereikvlak-, boxplot- en watervalseries
  • TsgcChartDataSource_CSV en TsgcChartDataSource_JSON voor bestanden en API-antwoorden
  • TsgcChartDataSource_Table voor een tabel in het geheugen, bijvoorbeeld de rijen van een sgcGrid
  • TsgcChartDataSource_Manual voor punten die vanuit code of een achtergrondthread worden doorgegeven
Het helponderwerp lezen

Gegevens erin, beelden eruit Alleen geregistreerd

Live markt- en IoT-feeds zonder lijmcode

Verbind een grafiek met een broker of een marktstream en elk bericht wordt geplot zodra het binnenkomt. De sgcChartsWS-bridge haakt in op de berichtgebeurtenis van een sgcWebSockets-client en zet de JSON om in punten of candles. De Binance-bron kan met een aggregator candles bouwen uit ruwe trades, met intervallen van een seconde tot een maand. Wanneer een bron stopt, herstelt hij de vorige gebeurtenishandler van de client.

  • TsgcChartDataSource_Binance: Symbol, Stream (cbsKLine, cbsTicker, cbsTrade), Interval
  • TsgcChartDataSource_MQTT met TopicFilter en PayloadFormat
  • TsgcChartDataSource_WebSocket en TsgcChartDataSource_SSE voor JSON via WebSocket of server-sent events
  • TsgcChartAggregator zet trades om in candles met AddTrade

De bridge vereist sgcWebSockets. Voed in Community de grafiek vanuit je eigen code met de handmatige gegevensbron.

Het helponderwerp lezen

Gegevens erin, beelden eruit

PNG en SVG op een server, geen venster nodig

Grafieken verlaten vaak het scherm: een dagelijkse rapportmail, een PDF, een webpagina of een REST-endpoint dat een afbeelding teruggeeft. TsgcChartRenderer tekent hetzelfde grafiekmodel naar PNG of SVG zonder formulier en zonder berichtenlus, in een consoletoepassing, een Windows-service of een Linux64-server gebouwd met Delphi 10.2 of nieuwer. Op het scherm slaan de weergaven met één aanroep op wat de gebruiker ziet. De uitvoer gebruikt hetzelfde thema, dezelfde lettertypen en hetzelfde palet als het scherm, dus een grafiek in een PDF ziet er precies zo uit als die op het dashboard.

  • RenderToPNGFile, RenderToPNGStream, RenderToSVGFile, RenderToSVGStream
  • Width, Height en Scale voor afbeeldingen met hoge DPI
  • SaveToPNG en SaveToSVG op TsgcVCLChart
  • Headless- en HeadlessService-demo's; in .NET het pakket esegece.sgcCharts.Rendering
Het helponderwerp lezen

Toegankelijkheid

UI Automation voor schermlezers, het toetsenbord en hoog contrast, zonder configuratie.

Toegankelijkheid

Een grafiek die punt voor punt aan UI Automation wordt aangeboden

sgcCharts biedt de grafiek aan Microsoft UI Automation aan met de titel, de assen, de legenda, de series en de gegevenspunten. Elk punt biedt zijn categorie en waarde aan, en de grafiek beschrijft zichzelf met hetzelfde tekstalternatief dat ze in een toegankelijke PDF schrijft.

  • Links en Rechts gaan naar het vorige of volgende gegevenspunt, Omhoog en Omlaag naar de vorige of volgende serie, Home en End naar het eerste of laatste punt
  • Page Up en Page Down springen een tiende van de punten verder, Enter activeert het punt met focus als een klik en Esc wist de puntfocus
  • De grafiek is een tabstop en toont een zichtbare focusring
  • Onder een Windows-thema met hoog contrast gebruiken de series de systeemkleuren en worden ze, waar het seriestype dat toelaat, onderscheiden door lijnpatronen en markeringen

Toegankelijkheid staat standaard aan in elke editie, ook in de gratis Community-editie, op VCL in elke Delphi- en C++Builder-versie van Delphi 7 tot en met Delphi 13, op FireMonkey op Windows, en op WinForms, WPF en Avalonia. In Delphi en C++Builder stellen AccessibleName en AccessibleDescription de naam en de beschrijving in die aan UI Automation worden aangeboden, en in .NET doen de standaard toegankelijke naam en helptekst van elk framework hetzelfde. Zie de toegankelijkheidsrapporten. Zoomen en pannen met de muis en de financiële tekengereedschappen hebben geen toetsenbordalternatief.

Het helponderwerp lezen

Zie sgcCharts in actie

sgcCharts in de sgcUI suite-demo's: complete applicaties die offline draaien met ingebouwde gesimuleerde gegevens.

Gemeten in de demo's en de help

Cijfers uit de meegeleverde LiveLine-demo en de decimatiereferentie, zodat je ze zelf kunt reproduceren.

MetingResultaatOmstandigheden
Punten in de LiveLine-ringbuffer1,000,000TsgcChartSeries_FastLine gevoed vanuit een achtergrondthread via TsgcChartDataSource_Manual
Bewaarde punten per pixelkolommaximaal 4dmMinMax-decimatie: eerste, minimum, maximum en laatste punt

Bron: het helponderwerp dat deze cijfers documenteert.

Wie bouwt er met sgcCharts

Handels- en cryptoplatforms

Een deskapplicatie toont candles voor het geselecteerde symbool, voortschrijdende gemiddelden en Bollinger-banden op het koerspaneel, RSI en volume in panelen eronder en de bied- en laatband terwijl koersen binnenstromen. Analisten tekenen trendlijnen en Fibonacci-niveaus die verankerd blijven wanneer ze zoomen. De Binance-bron bouwt de candles rechtstreeks uit de exchangestream.

  • Candlestickserie
  • Indicatoren en panelen
  • Tekengereedschappen
  • Binance-gegevensbron
Start de BinanceLive-demo

Industriële monitoring en IoT

Een controlekamerclient plot tientallen sensoren tegelijk. Series met snelle lijn en ringbuffers houden uren aan metingen in vast geheugen, een tijdvenster toont de laatste minuten en decimatie houdt het hertekenen licht. MQTT-topics voeden de grafieken rechtstreeks en een heatmap toont welke machines heet draaien.

  • Snelle lijn en ringbuffer
  • Tijdvenster
  • MQTT-gegevensbron
  • Heatmap
Start de MQTTSensors-demo

Bedrijfsrapportage en gegenereerde afbeeldingen

Een back-officeservice rendert de wekelijkse omzetdonut, de verkooptrechter en een trend van twaalf maanden als PNG voor de managementmail en als SVG voor het intranet. Dezelfde grafiekcode draait ook in de desktoptoepassing, gekoppeld aan dezelfde dataset, zodat cijfers en kleuren altijd overeenkomen.

  • Donut en trechter
  • DataSet-gegevensbron
  • TsgcChartRenderer
  • Thema's
Start de Headless-demo

Een donutgrafiek in een paar regels

Dezelfde API in Delphi, C++ Builder en C#: omzet per regio als donut met een segment Overig, op een donker thema, geëxporteerd naar PNG.

Bouwt het model, een taartserie met een gat van 55 procent, een VCL-weergave en een renderer die een PNG van 1200 x 700 schrijft.

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;

Het helponderwerp lezen →

Dezelfde donut in C++ Builder, met de gegenereerde headerbestanden sgcCharts_*.hpp.

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

Het helponderwerp lezen →

Headless in C#: hetzelfde model gerenderd naar PNG zonder venster, vanuit het Rendering-pakket.

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

Het helponderwerp lezen →

Probeer de sgcCharts-demo's uit

19 demo's voor Delphi, dezelfde 19 voor C++ Builder en 12 voor .NET, allemaal in de download met gecompileerde demo's. Dit zijn de demo's die de bovenstaande functies laten zien.

LiveLine

LiveLine

Een serie met snelle lijn met een ringbuffer van 1.000.000 punten, gevoed vanuit een achtergrondthread, een tijdvenster van 10 s, 60 s of de hele buffer, een themaschakelaar en een crosshair over de hele stream.

Candlestick

Dagelijkse candles op een datum-tijd-as met een volume-as. Zoom en pan met de muis; waar veel candles één pixelkolom delen, worden ze samengevoegd tot één correcte candle.

Alleen geregistreerd DrawingTools

Trendlijnen, horizontale en verticale lijnen, rechthoeken en Fibonacci-retracements met de muis getekend op een candlestickgrafiek, en daarna geselecteerd, vergrendeld of verwijderd.

DataSetChart

DataSetChart

Een clientdataset van 1.000 rijen, getoond in een DB-grid en gelezen door twee datasetbronnen in een lijn- en een staafserie. Wijzig een rij, laad opnieuw en de grafiek volgt.

BusinessCharts

BusinessCharts

Bellen-, boxplot-, waterval- en vloeiende bereikvlakreeksen met foutbalken, aantekeningen en een ISA-101-alarmlijn, het ISA-101-thema en de grafiekeditor tijdens runtime, boven een live dataset die de grafiek volgt. Ook in .NET als BusinessCharts, BusinessChartsWpf en BusinessChartsAvalonia. Ook voor FireMonkey als BusinessChartsFMX.

Alleen geregistreerd BinanceLive

Live candles uit een Binance-marktstream via de sgcChartsWS-bridge, op een financiële grafiek met panelen en indicatoren. Vereist sgcWebSockets.

Alleen geregistreerd MQTTSensors

Sensormetingen die via MQTT-topics en de sgcChartsWS-bridge binnenkomen en worden geplot zodra ze aankomen. Vereist sgcWebSockets en een MQTT-broker.

Headless

Een consoleprogramma dat een grafiek bouwt en PNG- en SVG-bestanden schrijft zonder venster. HeadlessService doet hetzelfde vanuit een Windows-service.

Gecompileerde demo's

Direct uitvoerbare programma's van elk sgcUI-product, zonder installatie.

sgcUI_bin.zip downloaden →

Waar sgcCharts in zit

sgcCharts zit in sgcUI Professional en Enterprise en wordt ook los verkocht. sgcCharts is ook opgenomen in de All-Access-bundel.

sgcCharts los pakket

€199 / ontwikkelaar, volledige broncode, 1 jaar updates.

sgcCharts kopen → Prijzen bekijken →

sgcUI Professional

Standard plus sgcCharts, sgcDashboard en sgcGauges, vanaf €529.

Professional bekijken →

sgcUI Enterprise

Alle 15 sgcUI-producten, vanaf €699.

Enterprise bekijken →

De gratis Community-editie (esegece.sgcCharts.Community op NuGet) heeft alle zeventien series, de annotaties, de foutbalken, de ISA-101-voorinstelling, de editor tijdens runtime, de weergaven, de buffers, de handmatige, CSV-, JSON- en datasetbronnen, interactie en headless uitvoer. Het financiële pakket (indicator- en volumeseries, panelen, aggregator, tekengereedschappen, laatstewaardemarkering, bied- en laatband), de grafiekontwerper met de geavanceerde typen tabelkoppeling en de sgcChartsWS-bridge ontbreken.

FunctieCommunity (gratis)Geregistreerd
17 seriesoorten, candlestick en OHLC inbegrepen✓✓
Snelle lijn, ringbuffers en decimatie✓✓
Zoomen, pannen, crosshair en tooltips✓✓
Handmatige, CSV-, JSON- en live dataset-gegevensbronnen✓✓
Thema's, PNG- en SVG-export, headless renderer✓✓
Annotaties, foutbalken, ISA-101-voorinstelling en grafiekeditor tijdens runtime✓✓
Indicator- en volumeseries−✓
Panelen, laatstewaardemarkering, bied- en laatband−✓
Tekengereedschappen en de trade-aggregator−✓
sgcChartsWS-live feeds (Binance, MQTT, WebSocket, SSE)−✓
Grafiekontwerper voor tabelkoppelingen, met de typen 100% gestapeld, cirkel, donut en combinatie−✓

Ondersteunde frameworks en platformen

Componenten in sgcCharts

ComponentWat het is
TsgcChartHet grafiekmodel: assen, series, legenda, thema en interactie.
TsgcVCLChart, TsgcFMXChartDe weergaven voor VCL en FireMonkey.
TsgcChartRendererHeadless PNG- en SVG-rendering, ook in een service en op Linux64.
TsgcChartSeries_*De 17 seriesoorten en de financiële indicatorseries.
TsgcChartDataSource_Manual, _CSV, _JSON, _DataSet, _TableGegevensbronnen voor punten, bestanden, datasets en tabellen.
TsgcChartDataSource_WebSocket, _MQTT, _SSE, _BinanceLive feedbronnen van de sgcChartsWS-bridge (alleen geregistreerd).
DoelComponentPlatformen
Delphi 7 tot 13, VCLTsgcVCLChartWin32 en Win64
Delphi XE6 tot 13, FireMonkeyTsgcFMXChartWindows, macOS, iOS en Android
C++ Builder 2007 tot 13TsgcVCLChart, TsgcFMXChartGegenereerde .hpp-headers en statische bibliotheken
Delphi 10.2 tot 13, headlessModel en TsgcChartRendererLinux64, PNG en SVG op een server
.NET Framework 4.7.2, .NET 8, 9 en 10TsgcWinFormsChart, TsgcWpfChart, TsgcAvaloniaChartWinForms, WPF, Avalonia 12 en headless renderen

Veelgestelde vragen

De LiveLine-demo streamt vanuit een achtergrondthread naar een serie met snelle lijn met een ringbuffer van 1.000.000 punten. Het geheugengebruik blijft vast omdat de buffer een vaste Capacity heeft, decimatie reduceert de zichtbare punten tot een paar per pixelkolom en MaxFPS begrenst de hertekensnelheid. Draai de gecompileerde demo om het op je eigen machine te zien.

Zeventien: lijn, snelle lijn, trapjeslijn, vlak, bereikvlak, staaf, spreiding, bubbel, candlestick, OHLC, taart en donut, radar, heatmap, treemap, trechter, boxplot en waterval. Elk is een component, dus je kunt er meerdere op één grafiek combineren, met zoveel assen als je nodig hebt.

Nee. Community bevat candlestick- en OHLC-series, maar niet de indicator- en volumeseries, panelen, aggregator, tekengereedschappen, laatstewaardemarkering of bied- en laatband. Die, en de sgcChartsWS live feeds, vereisen de geregistreerde editie. Zie Edities in de help.

Ja. SaveToPNG en SaveToSVG slaan op wat een weergave toont, en TsgcChartRenderer rendert een grafiekmodel zonder venster naar PNG- of SVG-bestanden of -streams, met de breedte, hoogte en schaal die je kiest. Dat is de gebruikelijke route naar een PDF of een e-mailtekst.

Ja, headless. Vanaf Delphi 10.2 compileren het grafiekmodel en TsgcChartRenderer voor Linux64 en schrijven ze PNG en SVG. Er is geen Linux-weergavebesturingselement. In .NET richt het pakket esegece.sgcCharts.Rendering zich op .NET Standard 2.0, .NET Framework 4.7.2 en .NET 6, 8, 9 en 10.

Handmatige punten, CSV, JSON, elke TDataSet en een tabel in het geheugen, in elke productlicentie. Met de geregistreerde editie en sgcWebSockets voegt de sgcChartsWS-bridge Binance-marktstreams, MQTT-topics, JSON via WebSocket en server-sent events toe.

sgcCharts help

3,000+Ontwikkelaars
20+Jaar
761+Componenten
30+API-integraties
5Platformen
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid

Probeer sgcCharts vandaag

De sgcUI-proefversie bevat sgcCharts en elk ander sgcUI-product.