Delphi, C++ Builder & .NET Teil von sgcUI

sgcCharts, Diagramme für Delphi, C++ Builder & .NET

Eine Diagrammbibliothek für Dashboards, Analysen und Handelsbildschirme. Siebzehn Serientypen von Linie bis Wasserfall, die Indikatoren SMA, RSI, MACD und Bollinger, Live-Feeds, Zoom und Zeichenwerkzeuge sowie PNG- oder SVG-Export. Die LiveLine-Demo streamt 1.000.000 Punkte durch einen Ringpuffer.

VCL, FireMonkey, WinForms, WPF, Avalonia17 Serientypen in einem ModellLiveLine-Demo: 1.000.000 Punkte in einem RingpufferEnthalten in sgcUI Professional
sgcCharts-Kerzendiagramm mit Bollinger-Bändern, gleitenden Durchschnitten, Volumen, RSI und Zeichenwerkzeugen

Alles, was eine Diagrammbibliothek braucht

Achtzehn Funktionen in sieben Gruppen. Jede nennt die echte Komponente oder Eigenschaft und verlinkt auf ihr Hilfethema. Als Registered markierte Funktionen sind nicht im kostenlosen .NET-Community-Build enthalten.

Diagrammtypen

Ein Modell, siebzehn Serientypen, so viele Achsen, wie die Daten brauchen.

sgcCharts-Flächendiagramm aus der Seriengalerie

Diagrammtypen

Siebzehn Diagrammtypen auf einem Diagrammmodell

Ein Vertriebsbildschirm braucht Balken und ein Donut, ein Laborbildschirm Streu- und Heatmap-Diagramme, ein Handelsbildschirm Kerzen. sgcCharts deckt alles mit einem Modell ab: Jede Serie ist eine Komponente, die du auf das Formular legst oder im Code erzeugst, mit einem TsgcChart verknüpfst und frei mit den anderen mischst. Die API lernst du einmal und nutzt sie auf jedem Bildschirm.

  • Linie, schnelle Linie, Treppenlinie, Fläche, Bereichsfläche, Balken, Streuung, Blasen, Kerzen und OHLC auf numerischen, Datum/Zeit-, logarithmischen oder Kategorieachsen
  • Kreis und Donut, Radar, Heatmap, Treemap, Trichter, Boxplot und Wasserfall für Kategoriedaten
  • TsgcChartSeries_Bar zeichnet vertikale oder horizontale Balken, gruppiert oder gestapelt (Grouping)
  • Alle siebzehn sind in jeder Edition enthalten, auch im kostenlosen .NET-Community-Build
  • Rechts nach links für Arabisch und Hebräisch: Titel, Legende, Tooltips, Symbolleiste und Bereichsauswahl sind gespiegelt, und MirrorPlot spiegelt auch die Zeichenfläche und ihre Achsen
Hilfethema lesen
sgcCharts-Treemap mit Drilldown neben einem Vertriebstrichter

Diagrammtypen

Donut, Treemap und Trichter für Geschäftsdaten

Management-Berichte fragen nach Anteilen, Hierarchien und Conversion-Stufen. Die Kreisserie wird mit einer Eigenschaft zum Donut und fasst den langen Schwanz kleiner Segmente in einem einzigen Segment Sonstige zusammen, damit das Diagramm lesbar bleibt. Die Treemap bemisst verschachtelte Rechtecke nach Wert und geht per Klick in die Tiefe, der Trichter zeigt jede Stufe eines Vertriebs- oder Support-Prozesses mit ihrem Prozentwert. Beschriftungen können innerhalb oder außerhalb der Segmente stehen, und die Treemap färbt ihre Rechtecke nach Gruppe oder nach Wert mit einer Farbskala. Jede Serie folgt dem Diagramm-Theme, sodass der Bericht zum Rest der Anwendung passt.

  • InnerRadiusPercent macht den Donut, OthersThreshold und OthersText gruppieren kleine Segmente
  • ExplodeOnClick zieht ein Segment heraus, wenn der Benutzer darauf klickt
  • TsgcChartSeries_Treemap mit DrillOnClick, DrillUp und dem Ereignis OnDrill
  • TsgcChartSeries_Funnel mit NeckWidthPercent und ProportionalHeight
Hilfethema lesen

Diagrammtypen

Blasen, Boxplot, Wasserfall und Bereichsfläche

Ein Finanzteam will die Gewinnbrücke vom Budget zum Ist sehen, ein Qualitätsingenieur die Streuung der Zykluszeiten je Schicht, und ein Produktmanager Umsatz, Marge und Mitarbeiterzahl in einem Diagramm. Vier Serien decken diese Fälle ab. Die Blasenserie ergänzt X und Y um eine Größe. Der Boxplot fasst eine Stichprobe mit Quartilen, Median und Ausreißern zusammen. Der Wasserfall baut eine Summe aus positiven und negativen Schritten auf, mit Zwischensummen und Summen unterwegs. Die Bereichsfläche füllt das Band zwischen einem unteren und einem oberen Wert, für ein Prognoseintervall oder einen Toleranzkorridor.

  • TsgcChartSeries_Bubble mit AddBubble, MinBubbleSize, MaxBubbleSize und SizeMode, skaliert nach Fläche (cbsArea) oder Durchmesser (cbsDiameter)
  • TsgcChartSeries_BoxPlot zeichnet Minimum, Quartile, Median, Maximum und optional den Mittelwert; AddValues berechnet die Quartile aus der Rohstichprobe wie Excel QUARTILE.INC und findet die Tukey-Ausreißer
  • TsgcChartSeries_Waterfall mit AddStep, AddSubtotal, AddTotal und ShowConnectors
  • TsgcChartSeries_RangeArea mit AddRange für das untere und das obere Band
  • Alle vier sind in jeder Edition enthalten, auch in der kostenlosen Community Edition, unter VCL, FireMonkey, WinForms, WPF und Avalonia
Hilfethema lesen

Diagrammtypen

Glatte Linien und Fehlerbalken

Ein Laborbericht zeigt jede Messung mit ihrer Unsicherheit, und ein Dashboard-Trend liest sich als Kurve besser als als Zickzack. Setze Smooth an einer Linien-, Flächen- oder Bereichsflächenserie, und sie zeichnet einen monotonen kubischen Spline. Die Kurve überschwingt die Daten nie und zeigt daher keinen Gipfel und kein Tal, die in den Werten nicht stecken. Fehlerbalken ergänzen Linien-, Flächen-, Streu- und Balkenserien um die Unsicherheit jedes Punkts, aus einem festen Wert, einem Prozentwert, der Standardabweichung der Serie oder eigenen Werten je Punkt.

  • Smooth an TsgcChartSeries_Line, TsgcChartSeries_Area und TsgcChartSeries_RangeArea
  • ErrorBars.Kind: cebFixed, cebPercent, cebStdDev oder cebCustom mit AddCustom
  • Direction: cedBoth, cedPlus oder cedMinus, mit Abschlusslinien, deren Größe CapWidth bestimmt
  • Die Werteachse erweitert sich selbst, sodass kein Fehlerbalken abgeschnitten wird
  • In jeder Edition enthalten, auch in der kostenlosen Community Edition, unter VCL, FireMonkey, WinForms, WPF und Avalonia
Hilfethema lesen
Drei Serien auf drei getrennten Wertachsen

Diagrammtypen

Mehrere Achsen auf einem Diagramm

Temperatur und Druck, Umsatz und Stückzahl, Preis und Volumen: Echte Daten teilen selten eine Skala. Füge so viele Achsen hinzu, wie du brauchst, platziere sie links, rechts, oben oder unten und binde jede Serie an ihr eigenes Paar. Jede Achse wählt ihren eigenen Typ, Bereich und ihr Beschriftungsformat, sodass eine Datum/Zeit-Achse unten unter einer numerischen Achse links und einer logarithmischen Achse rechts stehen kann. Jede Serie nennt die Achsen, die sie verwendet, sodass zwei Linien die linke Achse teilen können, während eine dritte die rechte nutzt. Achsen zoomen unabhängig voneinander, und ResetZoom bringt sie zurück auf den vollen Bereich.

  • Sammlung Axes am TsgcChart, ein TsgcChartAxis pro Skala
  • AxisType: catNumeric, catLogarithmic, catDateTime oder catCategory
  • Position: capLeft, capRight, capTop oder capBottom
  • Minimum, Maximum, Automatic, LabelFormat und Inverted pro Achse
Hilfethema lesen

Finanzdiagramme

Kerzen in jeder Edition, dazu das Finanzpaket: Indikatoren, Bereiche, Marker und Zeichenwerkzeuge.

sgcCharts-Kerzendiagramm auf einer Datum/Zeit-Achse

Finanzdiagramme

Kerzen- und OHLC-Diagramme, die scharf bleiben

Die Kurshistorie ist der Kern jedes Handelsbildschirms. Die Serien Kerze und OHLC zeichnen Eröffnung, Hoch, Tief und Schluss aus deinen eigenen Daten oder aus einem Dataset auf einer Datum/Zeit-Achse. Treffen Jahre an Balken auf ein schmales Fenster, werden Kerzen derselben Pixelspalte zu einer korrekten Kerze zusammengeführt (erste Eröffnung, höchstes Hoch, tiefstes Tief, letzter Schluss, summiertes Volumen), sodass das Diagramm nie eine irreführende Spitze zeigt. Die OHLC-Serie zeichnet dieselben Daten als Balken mit Ticks für Eröffnung und Schluss, eine kompakte Wahl für lange Historien. Beide Serien arbeiten mit Zoom, Verschieben und Fadenkreuz jedes Diagramms zusammen.

  • TsgcChartSeries_Candlestick und TsgcChartSeries_OHLC teilen sich einen OHLC-Puffer
  • TsgcChartDataSource_DataSet ordnet OpenField, HighField, LowField, CloseField und VolumeField zu
  • Zusammenführen von Kerzen pro Pixelspalte durch sgcChartDecimateOHLC
  • Beide Serien sind in jeder Edition enthalten, auch im kostenlosen .NET-Community-Build
Hilfethema lesen
Technische Indikatoren ohne eigene Mathematik

Finanzdiagramme Nur Registered

Technische Indikatoren ohne eigene Mathematik

Analysten erwarten gleitende Durchschnitte, Bollinger-Bänder, RSI und MACD im Kursdiagramm. Jeder Indikator ist eine Serie: Richte seine Source auf eine Kerzenserie, und er berechnet sich neu, sobald sich die Kerzen ändern. Keine Formeln, die du programmieren, testen oder mit Live-Daten synchron halten musst. Oszillatoren wie RSI und Stochastik zeichnen ihre Hilfslinien für überkauft und überverkauft, und jede Indikatorserie erscheint mit eigener Farbe in der Legende. Lege sie in den Kursbereich oder gib jedem einen eigenen Bereich.

  • Trend: TsgcChartSeries_SMA, TsgcChartSeries_EMA, TsgcChartSeries_WMA, TsgcChartSeries_Bollinger
  • Oszillatoren: TsgcChartSeries_RSI, TsgcChartSeries_MACD, TsgcChartSeries_Stochastic, mit GuideLines
  • Volatilität und Volumen: TsgcChartSeries_ATR, TsgcChartSeries_VWAP, TsgcChartSeries_Volume
  • Recalculate auf Abruf, Values zum Lesen der berechneten Ausgabe

Der .NET-Community-Build enthält die Serien Kerze und OHLC, aber nicht die Indikatorserien.

Hilfethema lesen
Bereiche, ein Marker für den letzten Wert und das Geld- und Briefband

Finanzdiagramme Nur Registered

Bereiche, ein Marker für den letzten Wert und das Geld- und Briefband

Ein Handelslayout stapelt Kurs, Volumen und einen Oszillator in getrennten Bereichen, die sich eine Zeitachse teilen, sodass Zoomen im Kurs alles darunter mitzoomt. Ein Marker auf der Kursachse zeigt den letzten Wert auf einen Blick, und ein schattiertes Band zeigt den aktuellen Spread zwischen Geld und Brief, während Kurse hereinströmen. Die Höhen der Bereiche sind Prozentwerte, sodass das Layout mit dem Fenster skaliert und eine Größenänderung übersteht. Jeder Bereich hat außerdem eine Eigenschaft Visible, sodass ein Bildschirm einen Indikatorbereich nur auf Wunsch des Benutzers anbieten kann.

  • Sammlung Panes aus TsgcChartPane mit HeightPercent; der Benutzer zieht den Teiler zwischen den Bereichen
  • Jede Achse wird über ihre Eigenschaft Pane einem Bereich zugeordnet
  • LastValueMarker mit Color und Visible
  • BidAskBand mit Bid, Ask, BidColor und AskColor
Hilfethema lesen

Finanzdiagramme Nur Registered

Zeichenwerkzeuge für Analysten

Trader markieren Unterstützungen, Trendkanäle und Retracements direkt im Diagramm. Werkzeug wählen, im Plot ziehen, und die Zeichnung wird an Datenkoordinaten verankert, sodass sie beim Zoomen oder Verschieben an den richtigen Kerzen bleibt. Zeichnungen sind eine Sammlung, die du auch aus dem Code füllen, gegen Bearbeitung sperren oder entfernen kannst. Linien können durchgezogen, gestrichelt oder gepunktet sein, mit eigener Farbe und Breite. Da Zeichnungen eine gewöhnliche Sammlung mit einfachen Koordinaten sind, kannst du sie mit dem Arbeitsbereich des Benutzers speichern und beim nächsten Start wieder hinzufügen.

  • Interaction.DrawingTool: cdtTrendLine, cdtHorizontalLine, cdtVerticalLine, cdtRectangle, cdtFibonacci
  • Sammlung Drawings mit X1, Y1, X2, Y2, Color, Dash und Locked
  • DeleteSelectedDrawing entfernt die vom Benutzer gewählte Zeichnung
  • Zu sehen in der Demo DrawingTools
Hilfethema lesen

Annotationen und Bearbeitung

Erkläre die Daten im Diagramm und lass Benutzer das Diagramm zur Laufzeit anpassen.

Annotationen und Bearbeitung

Annotationen und ISA-101-Bildschirme

Ein Bedienerbildschirm braucht den Alarmgrenzwert als Linie, den normalen Betriebsbereich als Band und eine Notiz zu dem Zeitpunkt, an dem die Charge gestartet wurde. Annotationen werden in Datenwerten platziert und bleiben deshalb an der richtigen Stelle, wenn der Benutzer zoomt, verschiebt oder neue Punkte einlaufen. Eine Sprechblase kann auf einen festen Datenpunkt zeigen oder dem neuesten Punkt einer Live-Serie folgen. Für Leitwarten schaltet ApplyISA101Theme das Diagramm auf den grauen, gedämpften Stil der ISA-101-HMI-Bildschirme um. Farbe bleibt abnormalen Zuständen vorbehalten, sodass die Alarmfarben der Prioritäten 1 bis 4 auf einem ruhigen Bildschirm hervorstechen.

  • Die Sammlung Annotations an TsgcChart, ein TsgcChartAnnotation je Eintrag
  • Kind: cakText, cakLine, cakHorizontalLine, cakVerticalLine, cakRectangle, cakHorizontalBand oder cakCallout
  • AnchorSeries und AnchorPoint binden eine Sprechblase an einen Datenpunkt, und der Standardwert -1 von AnchorPoint folgt dem neuesten Punkt
  • Annotationen folgen dem Theme und dem hohen Kontrast von Windows, und Screenreader lesen ihren Text vor
  • ApplyISA101Theme behält die Alarmfarben der Prioritäten 1 bis 4

Annotationen und die ISA-101-Vorgabe sind in jeder Edition enthalten, auch in der kostenlosen Community Edition, unter VCL, FireMonkey, WinForms, WPF und Avalonia. Die Vorgabe ist unter Themes und Palette beschrieben.

Hilfethema lesen
Diagrammdesigner, Seite Daten: Diagrammtyp, Serien aus Spalten oder Zeilen, Top N, Kreisserie, Datenbeschriftungen, Gesamtsummen und die Kombinationsserie jeder Kennzahl

Annotationen und Bearbeitung

Benutzer das Diagramm bearbeiten lassen

Bevor ein Diagramm in eine Präsentation wandert, will ein Benutzer die Umsatzlinie in der Firmenfarbe, einen klareren Achsentitel und die Serie der Retouren ausgeblendet. Mit dem Diagrammeditor zur Laufzeit erledigt er das selbst, ohne neuen Build der Anwendung. Ein Aufruf öffnet einen Dialog, in dem der Benutzer Titel, Legende, Achsen und jede Serie bearbeitet: Farbe, Sichtbarkeit, Glättung und Typ, geändert in einen anderen kompatiblen Serientyp.

Für ein Diagramm, das über TsgcChartTableLink an eine Tabelle gebunden ist, ergänzt der Diagrammdesigner denselben Dialog um eine Seite Daten: den Diagrammtyp (gruppierte, gestapelte oder zu 100 % gestapelte Säulen, Linien, Flächen, Kreis, Ring oder Kombination), Serien aus Spalten oder Zeilen, Top N, die Kreisserie, Datenbeschriftungen mit einem Format, die Gesamtsummenzeile und -spalte eines Pivots sowie den Serientyp und die Achse jeder Kennzahl eines Kombinationsdiagramms. Er ist der Designer des Pivot-Diagramms von sgcPivotGrid und funktioniert mit jeder Tabelle, die die Verknüpfung zeichnet. Nur Registered

  • ShowEditor unter VCL, FireMonkey, WinForms und WPF
  • ShowEditorAsync unter Avalonia
  • Titel, Legende und Achsen in einem Dialog
  • Je Serie: Farbe, Sichtbarkeit, Smooth und der Serientyp innerhalb kompatibler Typen
  • sgcVCLShowChartDesigner und sgcFMXShowChartDesigner in Delphi, ShowDesigner und ShowDesignerAsync in .NET und ein Verb Chart designer... in der Delphi-IDE

Der Diagrammeditor zur Laufzeit ist in jeder Edition enthalten, auch in der kostenlosen Community Edition. Der Diagrammdesigner und die Typen 100 % gestapelt, Kreis, Ring und Kombination der Tabellenverknüpfung sind nicht in der Community Edition enthalten; die Tabellenverknüpfung mit Balken, gestapelten Balken, Linien und Flächen ist es.

Hilfethema lesen Hilfethema zum Diagrammdesigner lesen

Live-Daten und Erkundung

Große Datenmengen streamen und Benutzer genauer hinschauen lassen.

Live-Daten und Erkundung

Eine Million Punkte ohne Ruckeln

Sensorprotokolle, Audiopegel und Tickdaten wachsen endlos. Die Serie schnelle Linie hält ihre Punkte in einem Ringpuffer mit fester Capacity, sodass der Speicherbedarf gleich bleibt und die ältesten Punkte herausrollen. Beim Zeichnen reduziert jede Serie die sichtbaren Punkte auf etwa einen Satz pro Pixelspalte, und das Diagramm zeichnet höchstens MaxFPS Mal pro Sekunde neu, egal wie schnell Daten eintreffen. Die LiveLine-Demo streamt aus einem Hintergrundthread in einen Puffer mit 1.000.000 Punkten. In der Demo kannst du Feedrate und sichtbares Fenster während des Laufs ändern und so das Verhalten auf deiner eigenen Hardware beurteilen, bevor du eine Zeile Code schreibst.

  • TsgcChartSeries_FastLine mit Capacity und BufferMode (cbmOverwrite oder cbmGrow)
  • Decimation: dmNone, dmMinMax (visuell exakt) oder dmLTTB
  • TimeWindow zeigt nur die letzten N Sekunden einer Streaming-Achse
  • AddXY und AddY hängen Punkte beim Eintreffen an
Hilfethema lesen

Live-Daten und Erkundung

Zoom, Verschieben, Fadenkreuz und Tooltips eingebaut

Benutzer wollen den interessanten Teil der Daten genauer betrachten. Jedes Diagramm unterstützt bereits Mausrad-Zoom, Box-Zoom mit der Maus, Verschieben und Touch-Gesten, mit einem Fadenkreuz und einem Tooltip, die am nächsten Punkt einrasten. Bei einem Streaming-Diagramm pausiert das Zoomen das automatische Scrollen, und es setzt sich nach einer wählbaren Verzögerung von selbst fort. Jede Option ist eine Eigenschaft, sodass ein Kiosk-Bildschirm die Interaktion abschalten und ein Analysten-Bildschirm den Zoom auf die Zeitachse beschränken kann. Dasselbe Verhalten funktioniert in den Ansichten für VCL, FireMonkey und .NET.

  • TsgcChartInteraction: WheelZoom, BoxZoom, Pan, ZoomMode (czmX, czmY, czmXY)
  • Crosshair, Tooltip und SnapToPoint
  • AutoScrollResumeDelay und Paused für Live-Diagramme
  • Ereignisse OnZoom, OnCrosshairMove und OnSeriesClick, ResetZoom zum Zurückgehen
Hilfethema lesen

Daten hinein, Bilder heraus

Binde die Daten, die du hast, füttere Live-Streams und rendere Diagramme überall.

sgcCharts-Demo DataSetChart mit DB-Grid links und Diagramm rechts

Daten hinein, Bilder heraus

CSV, JSON oder jedes TDataSet binden

Die meisten Diagramme zeigen Daten, die du schon hast: ein Abfrageergebnis, eine exportierte Datei, eine REST-Antwort oder die Zeilen eines Grids. Datenquellen laden sie ohne Schleife aus AddXY-Aufrufen in eine Serie. Benenne die Felder oder Spalten, rufe nach einer Datenänderung Refresh auf, und das Diagramm folgt. Die Dataset-Quelle ordnet auch Eröffnung, Hoch, Tief, Schluss und Volumen für Kerzen zu. Datenquellen sind Komponenten, die du zur Entwurfszeit im Objektinspektor einrichtest. Setze Live, und das Diagramm folgt dem Dataset ganz ohne Code: Wenn ein Benutzer in einem Grid einen Datensatz speichert, löscht oder einfügt oder den Filter ändert, lädt das Diagramm neu.

  • TsgcChartDataSource_DataSet liest jedes TDataSet über XField, YField und LabelField
  • Live folgt Speichern, Löschen, Einfügen und Filtern über einen TDataLink, gedrosselt, sodass eine Folge von Änderungen nur ein Neuladen kostet; in .NET folgt Live den Änderungen einer DataTable
  • FollowCursor verschiebt den fokussierten Punkt, wenn der Benutzer durch das Dataset blättert (Delphi)
  • ExtraFields speist die Spalten für Größe, Tief, Quartil oder Art der Serien Blase, Bereichsfläche, Boxplot und Wasserfall
  • TsgcChartDataSource_CSV und TsgcChartDataSource_JSON für Dateien und API-Antworten
  • TsgcChartDataSource_Table für eine Tabelle im Speicher, zum Beispiel die Zeilen eines sgcGrid
  • TsgcChartDataSource_Manual für Punkte, die aus dem Code oder einem Hintergrundthread geschoben werden
Hilfethema lesen

Daten hinein, Bilder heraus Nur Registered

Live-Markt- und IoT-Feeds ohne Klebecode

Verbinde ein Diagramm mit einem Broker oder einem Marktstrom, und es zeichnet jede Nachricht beim Eintreffen. Die Brücke sgcChartsWS hängt sich in das Nachrichtenereignis eines sgcWebSockets-Clients und ordnet das JSON Punkten oder Kerzen zu. Die Binance-Quelle kann mit einem Aggregator aus rohen Trades Kerzen mit Intervallen von einer Sekunde bis zu einem Monat bilden. Wenn eine Quelle stoppt, stellt sie den vorherigen Ereignishandler des Clients wieder her.

  • TsgcChartDataSource_Binance: Symbol, Stream (cbsKLine, cbsTicker, cbsTrade), Interval
  • TsgcChartDataSource_MQTT mit TopicFilter und PayloadFormat
  • TsgcChartDataSource_WebSocket und TsgcChartDataSource_SSE für JSON über WebSocket oder Server-Sent Events
  • TsgcChartAggregator macht aus Trades mit AddTrade Kerzen

Die Brücke braucht sgcWebSockets. In Community fütterst du das Diagramm mit der manuellen Datenquelle aus deinem eigenen Code.

Hilfethema lesen

Daten hinein, Bilder heraus

PNG und SVG auf einem Server, ohne Fenster

Diagramme verlassen oft den Bildschirm: eine tägliche Berichts-E-Mail, ein PDF, eine Webseite oder ein REST-Endpunkt, der ein Bild liefert. TsgcChartRenderer zeichnet dasselbe Diagrammmodell als PNG oder SVG ohne Formular und ohne Nachrichtenschleife, in einer Konsolenanwendung, einem Windows-Dienst oder einem Linux64-Server, der mit Delphi 10.2 oder neuer gebaut wurde. Auf dem Bildschirm speichern die Ansichten mit einem Aufruf, was der Benutzer sieht. Die Ausgabe nutzt dasselbe Theme, dieselben Schriften und dieselbe Palette wie der Bildschirm, sodass ein Diagramm im PDF genau so aussieht wie das im Dashboard.

  • RenderToPNGFile, RenderToPNGStream, RenderToSVGFile, RenderToSVGStream
  • Width, Height und Scale für Bilder mit hoher DPI
  • SaveToPNG und SaveToSVG an TsgcVCLChart
  • Demos Headless und HeadlessService; in .NET das Paket esegece.sgcCharts.Rendering
Hilfethema lesen

Barrierefreiheit

UI Automation für Screenreader, Tastatur und hohen Kontrast, ohne Einrichtung.

Barrierefreiheit

Ein Diagramm, das Punkt für Punkt über UI Automation bereitgestellt wird

sgcCharts stellt das Diagramm mit Titel, Achsen, Legende, Serien und Datenpunkten über Microsoft UI Automation bereit. Jeder Punkt stellt seine Kategorie und seinen Wert bereit, und das Diagramm beschreibt sich mit derselben Textalternative, die es in ein barrierefreies PDF schreibt.

  • Links und Rechts wechseln zum vorherigen oder nächsten Datenpunkt, Auf und Ab zur vorherigen oder nächsten Serie, Pos1 und Ende zum ersten oder letzten Punkt
  • Bild auf und Bild ab springen um ein Zehntel der Punkte, Enter aktiviert den fokussierten Punkt wie ein Klick, und Esc hebt den Punktfokus auf
  • Das Diagramm ist ein Tabstopp und zeigt einen sichtbaren Fokusrahmen
  • Unter einem Windows-Kontrastdesign verwenden die Serien die Systemfarben und werden, wo es der Serientyp zulässt, durch Linienmuster und Marker unterschieden

Barrierefreiheit ist in jeder Edition standardmäßig aktiv, auch in der kostenlosen Community-Edition, unter VCL in jeder Delphi- und C++Builder-Version von Delphi 7 bis Delphi 13, in FireMonkey unter Windows sowie unter WinForms, WPF und Avalonia. In Delphi und C++Builder legen AccessibleName und AccessibleDescription den Namen und die Beschreibung fest, die über UI Automation bereitgestellt werden, und unter .NET leisten der Standardname und der Standard-Hilfetext des jeweiligen Frameworks dasselbe. Siehe die Konformitätsberichte zur Barrierefreiheit. Zoomen und Verschieben mit der Maus sowie die Finanz-Zeichenwerkzeuge haben keine Tastaturalternative.

Hilfethema lesen

sgcCharts in Aktion erleben

sgcCharts in den sgcUI-Suite-Demos: vollständige Anwendungen, die offline mit integrierten Simulationsdaten laufen.

Gemessen in den Demos und in der Hilfe

Zahlen aus der mitgelieferten LiveLine-Demo und der Dezimierungsreferenz, damit du sie selbst nachvollziehen kannst.

MessungErgebnisBedingungen
Punkte im Ringpuffer von LiveLine1,000,000TsgcChartSeries_FastLine, aus einem Hintergrundthread über TsgcChartDataSource_Manual gefüttert
Gehaltene Punkte pro Pixelspalteat most 4Dezimierung dmMinMax: erster, minimaler, maximaler und letzter Punkt

Quelle: das Hilfethema, das diese Zahlen dokumentiert.

Wer mit sgcCharts baut

Handels- und Krypto-Plattformen

Eine Handelsanwendung zeigt Kerzen für das gewählte Symbol, gleitende Durchschnitte und Bollinger-Bänder im Kursbereich, RSI und Volumen in den Bereichen darunter und das Geld- und Briefband, während Kurse hereinströmen. Analysten zeichnen Trendlinien und Fibonacci-Niveaus, die beim Zoomen verankert bleiben. Die Binance-Quelle bildet die Kerzen direkt aus dem Börsenstrom.

  • Kerzenserie
  • Indikatoren und Bereiche
  • Zeichenwerkzeuge
  • Binance-Datenquelle
Demo BinanceLive ausführen

Industrie- und IoT-Überwachung

Ein Leitstand-Client zeichnet Dutzende Sensoren gleichzeitig. Serien mit schneller Linie und Ringpuffern halten Stunden an Messwerten in festem Speicher, ein Zeitfenster zeigt die letzten Minuten, und die Dezimierung hält das Neuzeichnen leicht. MQTT-Topics speisen die Diagramme direkt, und eine Heatmap zeigt, welche Maschinen heiß laufen.

  • Schnelle Linie und Ringpuffer
  • Zeitfenster
  • MQTT-Datenquelle
  • Heatmap
Demo MQTTSensors ausführen

Geschäftsberichte und erzeugte Bilder

Ein Backoffice-Dienst rendert das wöchentliche Umsatz-Donut, den Vertriebstrichter und einen Zwölfmonatstrend als PNG für die Management-E-Mail und als SVG für das Intranet. Derselbe Diagrammcode läuft auch in der Desktop-Anwendung, gebunden an dasselbe Dataset, sodass Zahlen und Farben immer übereinstimmen.

  • Donut und Trichter
  • Dataset-Datenquelle
  • TsgcChartRenderer
  • Themes
Demo Headless ausführen

Ein Donut-Diagramm in wenigen Zeilen

Dieselbe API in Delphi, C++ Builder und C#: Umsatz nach Region als Donut mit Segment Sonstige, auf einem dunklen Theme, nach PNG exportiert.

Baut das Modell, eine Kreisserie mit 55 Prozent Loch, eine VCL-Ansicht und einen Renderer, der ein PNG mit 1200 x 700 schreibt.

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;

Hilfethema lesen →

Dasselbe Donut in C++ Builder, mit den generierten Headern 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);
}

Hilfethema lesen →

Headless in C#: dasselbe Modell ohne Fenster nach PNG gerendert, aus dem Rendering-Paket.

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

Hilfethema lesen →

Die sgcCharts-Demos ausführen

19 Demos für Delphi, dieselben 19 für C++ Builder und 12 für .NET, alle im Download der kompilierten Demos. Diese hier zeigen die oben genannten Funktionen.

LiveLine

LiveLine

Eine Serie schnelle Linie mit einem Ringpuffer für 1.000.000 Punkte, aus einem Hintergrundthread gefüttert, ein Zeitfenster von 10 s, 60 s oder dem ganzen Puffer, ein Theme-Wechsel und ein Fadenkreuz über den gesamten Stream.

Candlestick

Tageskerzen auf einer Datum/Zeit-Achse mit einer Volumenachse. Mit der Maus zoomen und verschieben; wo sich viele Kerzen eine Pixelspalte teilen, werden sie zu einer korrekten Kerze zusammengeführt.

Nur Registered DrawingTools

Trendlinien, horizontale und vertikale Linien, Rechtecke und Fibonacci-Retracements, mit der Maus auf einem Kerzendiagramm gezeichnet, dann ausgewählt, gesperrt oder gelöscht.

DataSetChart

DataSetChart

Ein Client-Dataset mit 1.000 Zeilen in einem DB-Grid, von zwei Dataset-Quellen in eine Linien- und eine Balkenserie gelesen. Zeile bearbeiten, neu laden, und das Diagramm folgt.

BusinessCharts

BusinessCharts

Blasen-, Boxplot-, Wasserfall- und glatte Bereichsflächenreihen mit Fehlerbalken, Anmerkungen und einer ISA-101-Alarmlinie, das ISA-101-Design und der Diagrammeditor zur Laufzeit, über einem Live-Datensatz, dem das Diagramm folgt. Auch für .NET als BusinessCharts, BusinessChartsWpf und BusinessChartsAvalonia. Auch für FireMonkey als BusinessChartsFMX.

Nur Registered BinanceLive

Live-Kerzen aus einem Binance-Marktstrom über die Brücke sgcChartsWS, auf einem Finanzdiagramm mit Bereichen und Indikatoren. Braucht sgcWebSockets.

Nur Registered MQTTSensors

Sensormesswerte, über MQTT-Topics durch die Brücke sgcChartsWS gespeist und beim Eintreffen gezeichnet. Braucht sgcWebSockets und einen MQTT-Broker.

Headless

Ein Konsolenprogramm, das ein Diagramm baut und PNG- und SVG-Dateien ohne Fenster schreibt. HeadlessService macht dasselbe aus einem Windows-Dienst.

Kompilierte Demos

Sofort lauffähige Programme jedes sgcUI-Produkts, nichts zu installieren.

sgcUI_bin.zip herunterladen →

Wo sgcCharts enthalten ist

sgcCharts ist in sgcUI Professional und Enterprise enthalten und wird auch einzeln verkauft. sgcCharts ist außerdem im All-Access-Paket enthalten.

sgcCharts Einzelpaket

€199 / Entwickler, voller Quellcode, 1 Jahr Updates.

sgcCharts kaufen → Preise ansehen →

sgcUI Professional

Standard plus sgcCharts, sgcDashboard und sgcGauges, ab €529.

Professional ansehen →

sgcUI Enterprise

Alle 15 sgcUI-Produkte, ab €699.

Enterprise ansehen →

Die kostenlose Community Edition (esegece.sgcCharts.Community auf NuGet) enthält alle siebzehn Serien, die Annotationen, die Fehlerbalken, die ISA-101-Vorgabe, den Editor zur Laufzeit, die Ansichten, die Puffer, die Datenquellen manuell, CSV, JSON und Dataset, die Interaktion und die Headless-Ausgabe. Nicht enthalten sind das Finanzpaket (Indikator- und Volumenserien, Bereiche, Aggregator, Zeichenwerkzeuge, Marker für den letzten Wert, Geld- und Briefband), der Diagrammdesigner mit den erweiterten Typen der Tabellenverknüpfung und die Brücke sgcChartsWS.

FunktionCommunity (kostenlos)Registered
17 Serientypen, Kerzen und OHLC inklusive✓✓
Schnelle Linie, Ringpuffer und Dezimierung✓✓
Zoom, Verschieben, Fadenkreuz und Tooltips✓✓
Datenquellen manuell, CSV, JSON und Live-Dataset✓✓
Themes, PNG- und SVG-Export, Headless-Renderer✓✓
Annotationen, Fehlerbalken, ISA-101-Vorgabe und Diagrammeditor zur Laufzeit✓✓
Indikator- und Volumenserien−✓
Bereiche, Marker für den letzten Wert, Geld- und Briefband−✓
Zeichenwerkzeuge und der Trade-Aggregator−✓
Live-Feeds mit sgcChartsWS (Binance, MQTT, WebSocket, SSE)−✓
Diagrammdesigner für Tabellenverknüpfungen, mit den Typen 100 % gestapelt, Kreis, Ring und Kombination−✓

Unterstützte Frameworks und Plattformen

Komponenten in sgcCharts

KomponenteWas es ist
TsgcChartDas Diagrammmodell: Achsen, Serien, Legende, Theme und Interaktion.
TsgcVCLChart, TsgcFMXChartDie Ansichten für VCL und FireMonkey.
TsgcChartRendererHeadless-Rendering nach PNG und SVG, auch in einem Dienst und unter Linux64.
TsgcChartSeries_*Die 17 Serientypen und die Finanzindikator-Serien.
TsgcChartDataSource_Manual, _CSV, _JSON, _DataSet, _TableDatenquellen für Punkte, Dateien, Datasets und Tabellen.
TsgcChartDataSource_WebSocket, _MQTT, _SSE, _BinanceLive-Feed-Quellen der Brücke sgcChartsWS (nur Registered).
ZielKomponentePlattformen
Delphi 7 bis 13, VCLTsgcVCLChartWin32 und Win64
Delphi XE6 bis 13, FireMonkeyTsgcFMXChartWindows, macOS, iOS und Android
C++ Builder 2007 bis 13TsgcVCLChart, TsgcFMXChartGenerierte .hpp-Header und statische Bibliotheken
Delphi 10.2 bis 13, headlessModell und TsgcChartRendererLinux64, PNG und SVG auf einem Server
.NET Framework 4.7.2, .NET 8, 9 und 10TsgcWinFormsChart, TsgcWpfChart, TsgcAvaloniaChartWinForms, WPF, Avalonia 12 und Headless-Rendering

Häufig gestellte Fragen

Die LiveLine-Demo streamt aus einem Hintergrundthread in eine Serie schnelle Linie mit einem Ringpuffer für 1.000.000 Punkte. Der Speicher bleibt konstant, weil der Puffer eine feste Capacity hat, die Dezimierung die sichtbaren Punkte auf wenige pro Pixelspalte reduziert und MaxFPS die Zeichenrate begrenzt. Starte die kompilierte Demo, um es auf deinem eigenen Rechner zu sehen.

Siebzehn: Linie, schnelle Linie, Treppenlinie, Fläche, Bereichsfläche, Balken, Streuung, Blasen, Kerzen, OHLC, Kreis und Donut, Radar, Heatmap, Treemap, Trichter, Boxplot und Wasserfall. Jeder ist eine Komponente, sodass du mehrere auf einem Diagramm kombinieren kannst, mit so vielen Achsen, wie du brauchst.

Nein. Community enthält die Serien Kerze und OHLC, aber nicht die Indikator- und Volumenserien, Bereiche, Aggregator, Zeichenwerkzeuge, Marker für den letzten Wert oder das Geld- und Briefband. Diese und die Live-Feeds von sgcChartsWS brauchen die registrierte Edition. Siehe Editionen in der Hilfe.

Ja. SaveToPNG und SaveToSVG speichern, was eine Ansicht zeigt, und TsgcChartRenderer rendert ein Diagrammmodell ohne Fenster in PNG- oder SVG-Dateien oder -Streams, mit der von dir gewählten Breite, Höhe und Skalierung. Das ist der übliche Weg in ein PDF oder einen E-Mail-Text.

Ja, headless. Ab Delphi 10.2 werden das Diagrammmodell und TsgcChartRenderer für Linux64 kompiliert und schreiben PNG und SVG. Ein Linux-Ansichtssteuerelement gibt es nicht. In .NET unterstützt das Paket esegece.sgcCharts.Rendering .NET Standard 2.0, .NET Framework 4.7.2 sowie .NET 6, 8, 9 und 10.

Manuelle Punkte, CSV, JSON, jedes TDataSet und eine Tabelle im Speicher in jeder Produktlizenz. Mit der registrierten Edition und sgcWebSockets ergänzt die Brücke sgcChartsWS Binance-Marktströme, MQTT-Topics, JSON über WebSocket und Server-Sent Events.

sgcCharts Hilfe

3,000+Entwickler
20+Jahre
761+Komponenten
30+API-Integrationen
5Plattformen
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordere innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen

sgcCharts noch heute testen

Die sgcUI-Testversion enthält sgcCharts und alle anderen sgcUI-Produkte.