Delphi, C++ Builder & .NET Część sgcUI

sgcCharts, wykresy dla Delphi, C++ Builder & .NET

Jedna biblioteka wykresów do pulpitów, analityki i ekranów giełdowych. Siedemnaście typów serii, od liniowej po kaskadową, wskaźniki SMA, RSI, MACD i Bollinger, źródła na żywo, powiększanie, narzędzia rysowania oraz eksport PNG lub SVG. Demo LiveLine strumieniuje 1 000 000 punktów przez bufor cykliczny.

VCL, FireMonkey, WinForms, WPF, Avalonia17 typów serii w jednym modeluDemo LiveLine: 1 000 000 punktów w buforze cyklicznymW sgcUI Professional
Wykres świecowy sgcCharts z wstęgami Bollingera, średnimi kroczącymi, wolumenem, RSI i narzędziami rysowania

Wszystko, czego potrzebuje biblioteka wykresów

Osiemnaście możliwości w siedmiu grupach. Każda wskazuje prawdziwy komponent lub właściwość i prowadzi do tematu pomocy. Funkcje oznaczone jako Registered nie wchodzą w skład bezpłatnej wersji .NET Community.

Typy wykresów

Jeden model, siedemnaście typów serii i tyle osi, ile potrzebują dane.

Wykres powierzchniowy sgcCharts wyrenderowany z galerii serii

Typy wykresów

Siedemnaście typów wykresów w jednym modelu

Ekran sprzedaży potrzebuje słupków i wykresu pierścieniowego, ekran laboratoryjny punktów i mapy cieplnej, a ekran giełdowy świec. sgcCharts obsługuje je wszystkie jednym modelem: każda seria to komponent, który upuszczasz na formularz lub tworzysz w kodzie, łączysz z TsgcChart i dowolnie mieszasz z pozostałymi. Poznaj API raz i używaj go na każdym ekranie.

  • Liniowy, szybka linia, schodkowy, powierzchniowy, zakresowy powierzchniowy, słupkowy, punktowy, bąbelkowy, świecowy i OHLC na osiach liczbowych, daty i czasu, logarytmicznych lub kategorii
  • Kołowy i pierścieniowy, radarowy, mapa cieplna, mapa drzewa, lejek, pudełkowy i kaskadowy dla danych kategorialnych
  • TsgcChartSeries_Bar rysuje słupki pionowe lub poziome, grupowane lub skumulowane (Grouping)
  • Wszystkie siedemnaście jest w każdej edycji, także w bezpłatnej wersji .NET Community
  • Od prawej do lewej dla arabskiego i hebrajskiego: tytuł, legenda, podpowiedzi, pasek narzędzi i selektor zakresu są odbite lustrzanie, a MirrorPlot odbija także obszar wykresu i jego osie
Przeczytaj temat pomocy
Mapa drzewa sgcCharts z zagłębianiem obok lejka sprzedaży

Typy wykresów

Wykres pierścieniowy, mapa drzewa i lejek dla danych biznesowych

Raporty dla zarządu pytają o udziały, hierarchie i etapy konwersji. Seria kołowa zamienia się w pierścieniową jedną właściwością i scala długi ogon małych wycinków w jeden wycinek Inne, dzięki czemu wykres pozostaje czytelny. Mapa drzewa dobiera rozmiar zagnieżdżonych prostokątów do wartości i zagłębia się po kliknięciu, a lejek pokazuje każdy etap procesu sprzedaży lub obsługi wraz z jego procentem. Etykiety mogą leżeć wewnątrz lub na zewnątrz wycinków, a mapa drzewa koloruje prostokąty według grupy lub wartości ze skalą kolorów. Każda seria stosuje motyw wykresu, więc raport pasuje do reszty aplikacji.

  • InnerRadiusPercent tworzy wykres pierścieniowy, a OthersThreshold i OthersText grupują małe wycinki
  • ExplodeOnClick wysuwa wycinek po kliknięciu przez użytkownika
  • TsgcChartSeries_Treemap z DrillOnClick, DrillUp i zdarzeniem OnDrill
  • TsgcChartSeries_Funnel z NeckWidthPercent i ProportionalHeight
Przeczytaj temat pomocy

Typy wykresów

Bąbelkowy, pudełkowy, kaskadowy i zakresowy powierzchniowy

Dział finansów chce mostu zysku od budżetu do wykonania, inżynier jakości chce rozrzutu czasów cyklu na każdą zmianę, a product manager chce przychodu, marży i zatrudnienia na jednym wykresie. Cztery serie obsługują te przypadki. Seria bąbelkowa dodaje rozmiar do X i Y. Wykres pudełkowy podsumowuje próbkę kwartylami, medianą i wartościami odstającymi. Wykres kaskadowy buduje sumę z dodatnich i ujemnych kroków, z sumami częściowymi i całkowitymi po drodze. Seria zakresowa powierzchniowa wypełnia pasmo między wartością dolną a górną, na przykład dla przedziału prognozy lub korytarza tolerancji.

  • TsgcChartSeries_Bubble z AddBubble, MinBubbleSize, MaxBubbleSize i SizeMode, rozmiar według pola (cbsArea) lub średnicy (cbsDiameter)
  • TsgcChartSeries_BoxPlot rysuje minimum, kwartyle, medianę, maksimum i opcjonalną średnią; AddValues liczy kwartyle z surowej próbki jak QUARTILE.INC w Excelu i wyznacza wartości odstające Tukeya
  • TsgcChartSeries_Waterfall z AddStep, AddSubtotal, AddTotal i ShowConnectors
  • TsgcChartSeries_RangeArea z AddRange dla pasma dolnej i górnej wartości
  • Wszystkie cztery są w każdej edycji, także w bezpłatnej edycji Community, w VCL, FireMonkey, WinForms, WPF i Avalonia
Przeczytaj temat pomocy

Typy wykresów

Gładkie linie i słupki błędów

Raport laboratoryjny pokazuje każdy pomiar wraz z niepewnością, a trend na pulpicie lepiej czyta się jako krzywą niż jako zygzak. Ustaw Smooth w serii liniowej, powierzchniowej lub zakresowej powierzchniowej, a wykres narysuje monotoniczną sześcienną krzywą sklejaną. Krzywa nigdy nie wychodzi poza dane, więc nie pokazuje szczytu ani doliny, których nie ma w wartościach. Słupki błędów dodają niepewność każdego punktu do serii liniowych, powierzchniowych, punktowych i słupkowych, ze stałej wartości, procentu, odchylenia standardowego serii lub własnych wartości dla każdego punktu.

  • Smooth w TsgcChartSeries_Line, TsgcChartSeries_Area i TsgcChartSeries_RangeArea
  • ErrorBars.Kind: cebFixed, cebPercent, cebStdDev lub cebCustom z AddCustom
  • Direction: cedBoth, cedPlus lub cedMinus, z zakończeniami o szerokości CapWidth
  • Oś wartości poszerza się sama, więc żaden słupek błędu nie jest ucięty
  • W każdej edycji, także w bezpłatnej edycji Community, w VCL, FireMonkey, WinForms, WPF i Avalonia
Przeczytaj temat pomocy
Trzy serie narysowane na trzech osobnych osiach wartości

Typy wykresów

Kilka osi na jednym wykresie

Temperatura i ciśnienie, przychód i liczba sztuk, cena i wolumen: prawdziwe dane rzadko dzielą jedną skalę. Dodaj tyle osi, ile potrzebujesz, umieść je z lewej, z prawej, u góry lub na dole i powiąż każdą serię z jej własną parą. Każda oś wybiera własny typ, zakres i format etykiet, więc dolna oś daty i czasu może leżeć pod lewą osią liczbową i prawą osią logarytmiczną. Każda seria wskazuje używane osie, więc dwie linie mogą dzielić lewą oś, a trzecia używać prawej. Osie powiększają się niezależnie, a ResetZoom przywraca pełny zakres.

  • Kolekcja Axes w TsgcChart, jeden TsgcChartAxis na każdą skalę
  • AxisType: catNumeric, catLogarithmic, catDateTime lub catCategory
  • Position: capLeft, capRight, capTop lub capBottom
  • Minimum, Maximum, Automatic, LabelFormat i Inverted dla każdej osi
Przeczytaj temat pomocy

Wykresy finansowe

Świece w każdej edycji, plus pakiet finansowy: wskaźniki, panele, znaczniki i narzędzia rysowania.

Wykres świecowy sgcCharts na osi daty i czasu

Wykresy finansowe

Wykresy świecowe i OHLC, które pozostają ostre

Historia cen to rdzeń każdego ekranu giełdowego. Serie świecowa i OHLC rysują otwarcie, maksimum, minimum i zamknięcie z Twoich danych lub ze zbioru danych, na osi daty i czasu. Gdy lata słupków trafiają do wąskiego okna, świece w tej samej kolumnie pikseli są scalane w jedną poprawną świecę (pierwsze otwarcie, najwyższe maksimum, najniższe minimum, ostatnie zamknięcie, suma wolumenu), więc wykres nigdy nie pokazuje mylącego skoku. Seria OHLC rysuje te same dane jako słupki ze znacznikami otwarcia i zamknięcia, co jest zwartym wyborem dla długich historii. Obie serie współpracują z powiększaniem, przesuwaniem i celownikiem każdego wykresu.

  • TsgcChartSeries_Candlestick i TsgcChartSeries_OHLC współdzielą jeden bufor OHLC
  • TsgcChartDataSource_DataSet mapuje OpenField, HighField, LowField, CloseField i VolumeField
  • Scalanie świec w kolumnie pikseli przez sgcChartDecimateOHLC
  • Obie serie są w każdej edycji, także w bezpłatnej wersji .NET Community
Przeczytaj temat pomocy
Wskaźniki techniczne bez pisania matematyki

Wykresy finansowe Tylko zarejestrowana

Wskaźniki techniczne bez pisania matematyki

Analitycy oczekują średnich kroczących, wstęg Bollingera, RSI i MACD na wykresie cen. Każdy wskaźnik to seria: wskaż jej Source na serię świecową, a przeliczy się przy każdej zmianie świec. Bez wzorów do kodowania, testowania i synchronizowania z danymi na żywo. Oscylatory takie jak RSI i Stochastic rysują linie wykupienia i wyprzedania, a każda seria wskaźnika pojawia się w legendzie z własnym kolorem. Umieść je na panelu cen albo daj każdemu osobny panel.

  • Trend: TsgcChartSeries_SMA, TsgcChartSeries_EMA, TsgcChartSeries_WMA, TsgcChartSeries_Bollinger
  • Oscylatory: TsgcChartSeries_RSI, TsgcChartSeries_MACD, TsgcChartSeries_Stochastic, z GuideLines
  • Zmienność i wolumen: TsgcChartSeries_ATR, TsgcChartSeries_VWAP, TsgcChartSeries_Volume
  • Recalculate na żądanie, Values do odczytu wyniku

Wersja .NET Community zawiera serie świecową i OHLC, ale nie serie wskaźników.

Przeczytaj temat pomocy
Panele, znacznik ostatniej wartości i pasmo bid i ask

Wykresy finansowe Tylko zarejestrowana

Panele, znacznik ostatniej wartości i pasmo bid i ask

Układ giełdowy układa cenę, wolumen i oscylator w osobnych panelach ze wspólną osią czasu, więc powiększenie ceny powiększa wszystko poniżej. Znacznik na osi cen pokazuje ostatnią wartość na pierwszy rzut oka, a zacieniowane pasmo pokazuje bieżący spread między bid i ask w trakcie napływu notowań. Wysokości paneli są procentami, więc układ skaluje się z oknem i przetrwa zmianę rozmiaru. Każdy panel ma też właściwość Visible, więc ekran może pokazać panel wskaźnika tylko na życzenie użytkownika.

  • Kolekcja Panes z TsgcChartPane i HeightPercent; użytkownik przeciąga rozdzielacz między panelami
  • Każda oś jest przypisana do panelu właściwością Pane
  • LastValueMarker z Color i Visible
  • BidAskBand z Bid, Ask, BidColor i AskColor
Przeczytaj temat pomocy

Wykresy finansowe Tylko zarejestrowana

Narzędzia rysowania dla analityków

Traderzy zaznaczają poziomy wsparcia, kanały trendu i zniesienia prosto na wykresie. Wybierz narzędzie, przeciągnij po wykresie, a rysunek zostanie zakotwiczony we współrzędnych danych, więc pozostaje przy właściwych świecach po powiększeniu lub przesunięciu. Rysunki to kolekcja, którą możesz też wypełnić z kodu, zablokować przed edycją lub usunąć. Linie mogą być ciągłe, kreskowane lub kropkowane, z własnym kolorem i grubością. Ponieważ rysunki to zwykła kolekcja ze zwykłymi współrzędnymi, możesz zapisać je razem z obszarem roboczym użytkownika i dodać z powrotem przy następnym uruchomieniu.

  • Interaction.DrawingTool: cdtTrendLine, cdtHorizontalLine, cdtVerticalLine, cdtRectangle, cdtFibonacci
  • Kolekcja Drawings z X1, Y1, X2, Y2, Color, Dash i Locked
  • DeleteSelectedDrawing usuwa rysunek zaznaczony przez użytkownika
  • Pokazane w demie DrawingTools
Przeczytaj temat pomocy

Adnotacje i edycja

Wyjaśnij dane na wykresie i pozwól użytkownikom dostosować wykres w czasie działania.

Adnotacje i edycja

Adnotacje i ekrany ISA-101

Ekran operatora potrzebuje limitu alarmowego jako linii, normalnego zakresu pracy jako pasma i notatki w chwili rozpoczęcia partii. Adnotacje umieszcza się we wartościach danych, więc zostają we właściwym miejscu przy powiększaniu, przesuwaniu i napływie nowych punktów. Objaśnienie może wskazywać stały punkt danych albo podążać za najnowszym punktem serii na żywo. Dla dyspozytorni ApplyISA101Theme przełącza wykres na szary, stonowany styl ekranów HMI ISA-101. Kolor zostaje dla stanów nieprawidłowych, więc kolory alarmów dla priorytetów 1 do 4 wyróżniają się na spokojnym ekranie.

  • Kolekcja Annotations w TsgcChart, jeden TsgcChartAnnotation na element
  • Kind: cakText, cakLine, cakHorizontalLine, cakVerticalLine, cakRectangle, cakHorizontalBand lub cakCallout
  • AnchorSeries i AnchorPoint wiążą objaśnienie z punktem danych, a domyślne AnchorPoint równe -1 podąża za najnowszym punktem
  • Adnotacje podążają za motywem i wysokim kontrastem Windows, a czytniki ekranu czytają ich tekst
  • ApplyISA101Theme zachowuje kolory alarmów dla priorytetów 1 do 4

Adnotacje i preset ISA-101 są w każdej edycji, także w bezpłatnej edycji Community, w VCL, FireMonkey, WinForms, WPF i Avalonia. Preset opisuje temat Motywy i paleta.

Przeczytaj temat pomocy
Projektant wykresów, strona Dane: typ wykresu, serie z kolumn lub wierszy, Top N, seria kołowa, etykiety danych, sumy końcowe i serie kombinowane każdej miary

Adnotacje i edycja

Pozwól użytkownikom edytować wykres

Zanim wykres trafi do prezentacji, użytkownik chce linii sprzedaży w kolorze firmowym, wyraźniejszego tytułu osi i ukrytej serii zwrotów. Dzięki edytorowi wykresu w czasie działania robi to sam, bez nowej wersji aplikacji. Jedno wywołanie otwiera okno, w którym użytkownik edytuje tytuły, legendę, osie i każdą serię: jej kolor, widoczność, wygładzanie i typ, zmieniony na inny zgodny typ serii.

Dla wykresu powiązanego z tabelą przez TsgcChartTableLink projektant wykresów dodaje do tego samego okna stronę Dane: typ wykresu (kolumnowy grupowany, skumulowany lub skumulowany 100%, liniowy, warstwowy, kołowy, pierścieniowy lub kombinowany), serie z kolumn lub wierszy, Top N, serię kołową, etykiety danych z formatem, wiersz i kolumnę sumy końcowej tabeli przestawnej oraz typ serii i oś każdej miary wykresu kombinowanego. To projektant wykresu przestawnego z sgcPivotGrid, działający z każdą tabelą rysowaną przez łącze. Tylko zarejestrowana

  • ShowEditor w VCL, FireMonkey, WinForms i WPF
  • ShowEditorAsync w Avalonia
  • Tytuły, legenda i osie w jednym oknie
  • Dla każdej serii: kolor, widoczność, Smooth i typ serii w obrębie zgodnych typów
  • sgcVCLShowChartDesigner i sgcFMXShowChartDesigner w Delphi, ShowDesigner i ShowDesignerAsync w .NET oraz polecenie Chart designer... w IDE Delphi

Edytor wykresu w czasie działania jest w każdej edycji, także w bezpłatnej edycji Community. Projektanta wykresów oraz typów skumulowany 100%, kołowy, pierścieniowy i kombinowany łącza tabeli nie ma w edycji Community; łącze tabeli z typami słupkowy, skumulowany słupkowy, liniowy i warstwowy jest.

Przeczytaj temat pomocy Przeczytaj temat o projektancie wykresów

Dane na żywo i eksploracja

Strumieniuj duże zbiory danych i pozwól użytkownikom przyjrzeć się z bliska.

Dane na żywo i eksploracja

Milion punktów bez zacięć

Dzienniki czujników, poziomy dźwięku i dane tickowe rosną bez końca. Seria szybkiej linii trzyma punkty w buforze cyklicznym o stałej pojemności Capacity, więc pamięć pozostaje stała, a najstarsze punkty wypadają. Przy rysowaniu każda seria redukuje widoczne punkty do około jednego zestawu na kolumnę pikseli, a wykres odrysowuje się najwyżej MaxFPS razy na sekundę, niezależnie od tempa napływu danych. Demo pozwala zmieniać tempo źródła i widoczne okno w trakcie działania, więc ocenisz zachowanie na własnym sprzęcie, zanim napiszesz linijkę kodu.

  • TsgcChartSeries_FastLine z Capacity i BufferMode (cbmOverwrite lub cbmGrow)
  • Decimation: dmNone, dmMinMax (wizualnie dokładna) lub dmLTTB
  • TimeWindow pokazuje tylko ostatnie N sekund strumieniowanej osi
  • AddXY i AddY dodają punkty w miarę napływu
Przeczytaj temat pomocy

Dane na żywo i eksploracja

Powiększanie, przesuwanie, celownik i podpowiedzi w standardzie

Użytkownicy chcą przyjrzeć się ciekawemu fragmentowi danych. Każdy wykres obsługuje już powiększanie kółkiem, powiększanie ramką myszą, przesuwanie i gesty dotykowe, z celownikiem i podpowiedzią przyciąganymi do najbliższego punktu. Na wykresie strumieniowym powiększenie wstrzymuje automatyczne przewijanie, które wznawia się samo po wybranym opóźnieniu. Każda opcja to właściwość, więc ekran kiosku może wyłączyć interakcję, a ekran analityka ograniczyć powiększanie do osi czasu. To samo zachowanie działa w widokach VCL, FireMonkey i .NET.

  • TsgcChartInteraction: WheelZoom, BoxZoom, Pan, ZoomMode (czmX, czmY, czmXY)
  • Crosshair, Tooltip i SnapToPoint
  • AutoScrollResumeDelay i Paused dla wykresów na żywo
  • Zdarzenia OnZoom, OnCrosshairMove i OnSeriesClick, ResetZoom przywraca widok
Przeczytaj temat pomocy

Dane na wejściu, obrazy na wyjściu

Podepnij posiadane dane, zasil strumieniami na żywo i renderuj wykresy gdziekolwiek.

Demo DataSetChart sgcCharts z siatką DB po lewej i wykresem po prawej

Dane na wejściu, obrazy na wyjściu

Podepnij CSV, JSON lub dowolny TDataSet

Większość wykresów pokazuje dane, które już masz: wynik zapytania, wyeksportowany plik, odpowiedź REST lub wiersze siatki. Źródła danych ładują je do serii bez pętli wywołań AddXY. Podaj pola lub kolumny, wywołaj Refresh po zmianie danych, a wykres podąży za nimi. Źródło DataSet mapuje też pola otwarcia, maksimum, minimum, zamknięcia i wolumenu dla świec. Źródła danych to komponenty, więc konfigurujesz je w czasie projektowania w Inspektorze obiektów. Ustaw Live, a wykres podąża za zbiorem danych bez żadnego kodu: gdy użytkownik zapisuje, usuwa lub wstawia rekord w siatce albo zmienia filtr, wykres ładuje dane od nowa.

  • TsgcChartDataSource_DataSet czyta dowolny TDataSet przez XField, YField i LabelField
  • Live śledzi zapisy, usunięcia, wstawienia i filtry przez TDataLink, z ograniczaniem częstotliwości, więc seria zmian kosztuje jedno przeładowanie; w .NET Live śledzi zmiany w DataTable
  • FollowCursor przesuwa wyróżniony punkt, gdy użytkownik przewija zbiór danych (Delphi)
  • ExtraFields zasila kolumny rozmiaru, dolnej wartości, kwartyli lub rodzaju w seriach bąbelkowej, zakresowej powierzchniowej, pudełkowej i kaskadowej
  • TsgcChartDataSource_CSV i TsgcChartDataSource_JSON dla plików i odpowiedzi API
  • TsgcChartDataSource_Table dla tabeli w pamięci, na przykład wierszy sgcGrid
  • TsgcChartDataSource_Manual dla punktów wysyłanych z kodu lub z wątku w tle
Przeczytaj temat pomocy

Dane na wejściu, obrazy na wyjściu Tylko zarejestrowana

Rynkowe i IoT źródła na żywo bez kodu pośredniczącego

Połącz wykres z brokerem lub strumieniem rynkowym, a każdą wiadomość narysuje w chwili nadejścia. Most sgcChartsWS podpina zdarzenie wiadomości klienta sgcWebSockets i mapuje JSON na punkty lub świece. Źródło Binance potrafi budować świece z surowych transakcji za pomocą agregatora, w odstępach od jednej sekundy do jednego miesiąca. Gdy źródło się zatrzymuje, przywraca poprzednią obsługę zdarzenia klienta.

  • TsgcChartDataSource_Binance: Symbol, Stream (cbsKLine, cbsTicker, cbsTrade), Interval
  • TsgcChartDataSource_MQTT z TopicFilter i PayloadFormat
  • TsgcChartDataSource_WebSocket i TsgcChartDataSource_SSE dla JSON przez WebSocket lub zdarzeń wysyłanych przez serwer
  • TsgcChartAggregator zamienia transakcje na świece przez AddTrade

Most wymaga sgcWebSockets. W edycji Community zasilaj wykres z własnego kodu przez źródło ręczne.

Przeczytaj temat pomocy

Dane na wejściu, obrazy na wyjściu

PNG i SVG na serwerze, bez okna

Wykresy często opuszczają ekran: dzienny raport e-mailem, PDF, strona WWW lub punkt końcowy REST zwracający obraz. TsgcChartRenderer rysuje ten sam model wykresu do PNG lub SVG bez formularza i bez pętli komunikatów, w aplikacji konsolowej, usłudze Windows lub serwerze Linux64 zbudowanym w Delphi 10.2 lub nowszym. Na ekranie widoki zapisują to, co widzi użytkownik, jednym wywołaniem. Wynik używa tego samego motywu, czcionek i palety co ekran, więc wykres w PDF wygląda dokładnie jak ten na pulpicie.

  • RenderToPNGFile, RenderToPNGStream, RenderToSVGFile, RenderToSVGStream
  • Width, Height i Scale dla obrazów o wysokim DPI
  • SaveToPNG i SaveToSVG w TsgcVCLChart
  • Dema Headless i HeadlessService; w .NET pakiet esegece.sgcCharts.Rendering
Przeczytaj temat pomocy

Dostępność

UI Automation dla czytników ekranu, klawiatura i wysoki kontrast, bez konfiguracji.

Dostępność

Wykres udostępniany UI Automation punkt po punkcie

sgcCharts udostępnia wykres Microsoft UI Automation wraz z tytułem, osiami, legendą, seriami i punktami danych. Każdy punkt udostępnia swoją kategorię i wartość, a wykres opisuje się tym samym tekstem alternatywnym, który zapisuje do dostępnego pliku PDF.

  • Left i Right przechodzą do poprzedniego lub następnego punktu danych, Up i Down do poprzedniej lub następnej serii, Home i End do pierwszego lub ostatniego punktu
  • Page Up i Page Down przeskakują o jedną dziesiątą punktów, Enter aktywuje punkt z fokusem jak kliknięcie, a Esc usuwa fokus z punktu
  • Wykres znajduje się w kolejności tabulacji i pokazuje widoczny wskaźnik fokusu
  • W motywie wysokiego kontrastu systemu Windows serie używają kolorów systemowych i, jeśli pozwala na to typ serii, są rozróżniane wzorami linii i znacznikami

Dostępność jest domyślnie włączona w każdej edycji, łącznie z bezpłatną edycją Community, w VCL w każdej wersji Delphi i C++Builder od Delphi 7 do Delphi 13, w FireMonkey w systemie Windows oraz w WinForms, WPF i Avalonia. W Delphi i C++Builder właściwości AccessibleName i AccessibleDescription ustawiają nazwę i opis udostępniane UI Automation, a w .NET to samo robią standardowa nazwa dostępności i tekst pomocy każdego frameworka. Zobacz raporty zgodności dotyczące dostępności. Powiększanie i przesuwanie myszą oraz narzędzia rysowania finansowego nie mają odpowiednika w klawiaturze.

Przeczytaj temat pomocy

Zobacz sgcCharts w akcji

sgcCharts w demach pakietu sgcUI: kompletne aplikacje działające offline na wbudowanych danych symulowanych.

Zmierzone w demach i pomocy

Liczby z dostarczanego dema LiveLine i opisu decymacji, które możesz odtworzyć samodzielnie.

PomiarWynikWarunki
Punkty w buforze cyklicznym LiveLine1 000 000TsgcChartSeries_FastLine zasilana z wątku w tle przez TsgcChartDataSource_Manual
Punkty zachowane na kolumnę pikselinajwyżej 4Decymacja dmMinMax: pierwszy, minimalny, maksymalny i ostatni punkt

Źródło: temat pomocy opisujący te liczby.

Kto buduje z sgcCharts

Platformy giełdowe i kryptowalutowe

Aplikacja stanowiskowa pokazuje świece wybranego symbolu, średnie kroczące i wstęgi Bollingera na panelu cen, RSI i wolumen w panelach poniżej oraz pasmo bid i ask w trakcie napływu notowań. Analitycy rysują linie trendu i poziomy Fibonacciego, które pozostają zakotwiczone po powiększeniu. Źródło Binance buduje świece prosto ze strumienia giełdy.

  • Seria świecowa
  • Wskaźniki i panele
  • Narzędzia rysowania
  • Źródło danych Binance
Uruchom demo BinanceLive

Monitoring przemysłowy i IoT

Klient w dyspozytorni rysuje dziesiątki czujników naraz. Serie szybkiej linii z buforami cyklicznymi trzymają godziny odczytów w stałej pamięci, okno czasu pokazuje ostatnie minuty, a decymacja utrzymuje lekkie odrysowywanie. Tematy MQTT zasilają wykresy bezpośrednio, a mapa cieplna pokazuje, które maszyny się grzeją.

  • Szybka linia i bufor cykliczny
  • Okno czasu
  • Źródło danych MQTT
  • Mapa cieplna
Uruchom demo MQTTSensors

Raportowanie biznesowe i generowane obrazy

Usługa zaplecza renderuje tygodniowy wykres pierścieniowy przychodów, lejek sprzedaży i dwunastomiesięczny trend jako PNG do e-maila dla zarządu oraz jako SVG dla intranetu. Ten sam kod wykresu działa też w aplikacji desktopowej, podpięty do tego samego zbioru danych, więc liczby i kolory zawsze się zgadzają.

  • Wykres pierścieniowy i lejek
  • Źródło danych DataSet
  • TsgcChartRenderer
  • Motywy
Uruchom demo Headless

A Donut Chart in a Few Lines

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

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

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

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

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

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

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

Przeczytaj temat pomocy →

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

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

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

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

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

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

Przeczytaj temat pomocy →

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

using esegece.sgcCharts;
using esegece.sgcUICore;

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

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

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

Przeczytaj temat pomocy →

Uruchom dema sgcCharts

19 dem dla Delphi, te same 19 dla C++ Builder i 12 dla .NET, wszystkie w pobieraniu skompilowanych dem. Oto te, które pokazują powyższe funkcje.

LiveLine

LiveLine

Seria szybkiej linii z buforem cyklicznym na 1 000 000 punktów zasilanym z wątku w tle, okno czasu 10 s, 60 s lub cały bufor, przełącznik motywu i celownik nad całym strumieniem.

Candlestick

Dzienne świece na osi daty i czasu z osią wolumenu. Powiększaj i przesuwaj myszą; gdy wiele świec trafia do jednej kolumny pikseli, są scalane w jedną poprawną świecę.

Tylko zarejestrowana DrawingTools

Linie trendu, linie poziome i pionowe, prostokąty i zniesienia Fibonacciego rysowane myszą na wykresie świecowym, a potem zaznaczane, blokowane lub usuwane.

DataSetChart

DataSetChart

Klientowy zbiór danych z 1000 wierszy pokazany w siatce DB i odczytywany przez dwa źródła DataSet do serii liniowej i słupkowej. Edytuj wiersz, wczytaj ponownie, a wykres podąży za zmianą.

BusinessCharts

BusinessCharts

Serie bąbelkowe, wykres pudełkowy, kaskadowy i gładki obszar zakresu z słupkami błędów, adnotacjami i linią alarmu ISA-101, motyw ISA-101 oraz edytor wykresów w czasie działania, na żywym zbiorze danych, za którym podąża wykres. Także w .NET jako BusinessCharts, BusinessChartsWpf i BusinessChartsAvalonia. Także dla FireMonkey jako BusinessChartsFMX.

Tylko zarejestrowana BinanceLive

Świece na żywo ze strumienia rynkowego Binance przez most sgcChartsWS, na wykresie finansowym z panelami i wskaźnikami. Wymaga sgcWebSockets.

Tylko zarejestrowana MQTTSensors

Odczyty czujników zasilane tematami MQTT przez most sgcChartsWS i rysowane w chwili nadejścia. Wymaga sgcWebSockets i brokera MQTT.

Headless

Program konsolowy, który buduje wykres i zapisuje pliki PNG i SVG bez okna. HeadlessService robi to samo z usługi Windows.

Skompilowane dema

Gotowe do uruchomienia pliki wykonywalne każdego produktu sgcUI, nic nie trzeba instalować.

Pobierz sgcUI_bin.zip →

Gdzie jest sgcCharts

sgcCharts wchodzi w skład sgcUI Professional i Enterprise, a jest też sprzedawany osobno. sgcCharts jest również w pakiecie All-Access.

Pojedynczy pakiet sgcCharts

€199 / programista, pełny kod źródłowy, 1 rok aktualizacji.

Kup sgcCharts → Zobacz cennik →

sgcUI Professional

Standard plus sgcCharts, sgcDashboard i sgcGauges, od €529.

Zobacz Professional →

sgcUI Enterprise

Wszystkie produkty sgcUI (15), od €699.

Zobacz Enterprise →

Bezpłatna edycja Community (esegece.sgcCharts.Community w NuGet) zawiera wszystkie siedemnaście serii, adnotacje, słupki błędów, preset ISA-101, edytor w czasie działania, widoki, bufory, źródła ręczne, CSV, JSON i DataSet, interakcję oraz wyjście bez interfejsu. Nie zawiera pakietu finansowego (serie wskaźników i wolumenu, panele, agregator, narzędzia rysowania, znacznik ostatniej wartości, pasmo bid i ask), projektanta wykresów z zaawansowanymi typami łącza tabeli ani mostu sgcChartsWS.

FunkcjaCommunity (bezpłatna)Zarejestrowana
17 typów serii, w tym świecowa i OHLC✓✓
Szybka linia, bufory cykliczne i decymacja✓✓
Powiększanie, przesuwanie, celownik i podpowiedzi✓✓
Źródła danych: ręczne, CSV, JSON i DataSet na żywo✓✓
Motywy, eksport PNG i SVG, renderer bez interfejsu✓✓
Adnotacje, słupki błędów, preset ISA-101 i edytor wykresu w czasie działania✓✓
Serie wskaźników i wolumenu−✓
Panele, znacznik ostatniej wartości, pasmo bid i ask−✓
Narzędzia rysowania i agregator transakcji−✓
Źródła na żywo sgcChartsWS (Binance, MQTT, WebSocket, SSE)−✓
Projektant wykresów dla łączy tabel, z typami skumulowany 100%, kołowy, pierścieniowy i kombinowany−✓

Obsługiwane frameworki i platformy

Komponenty w sgcCharts

KomponentCzym jest
TsgcChartModel wykresu: osie, serie, legenda, motyw i interakcja.
TsgcVCLChart, TsgcFMXChartWidoki dla VCL i FireMonkey.
TsgcChartRendererRenderowanie PNG i SVG bez interfejsu, także w usłudze i w systemie Linux64.
TsgcChartSeries_*17 typów serii oraz serie wskaźników finansowych.
TsgcChartDataSource_Manual, _CSV, _JSON, _DataSet, _TableŹródła danych dla punktów, plików, zbiorów danych i tabel.
TsgcChartDataSource_WebSocket, _MQTT, _SSE, _BinanceŹródła na żywo mostu sgcChartsWS (tylko Registered).
CelKomponentPlatformy
Delphi 7 do 13, VCLTsgcVCLChartWin32 i Win64
Delphi XE6 do 13, FireMonkeyTsgcFMXChartWindows, macOS, iOS i Android
C++ Builder 2007 do 13TsgcVCLChart, TsgcFMXChartWygenerowane nagłówki .hpp i biblioteki statyczne
Delphi 10.2 do 13, bez interfejsuModel i TsgcChartRendererLinux64, PNG i SVG na serwerze
.NET Framework 4.7.2, .NET 8, 9 i 10TsgcWinFormsChart, TsgcWpfChart, TsgcAvaloniaChartWinForms, WPF, Avalonia 12 i renderowanie bez interfejsu

Najczęściej zadawane pytania

Demo LiveLine strumieniuje do serii szybkiej linii z buforem cyklicznym na 1 000 000 punktów z wątku w tle. Pamięć pozostaje stała, bo bufor ma ustaloną pojemność Capacity, decymacja redukuje widoczne punkty do kilku na kolumnę pikseli, a MaxFPS ogranicza częstotliwość odrysowywania. Uruchom skompilowane demo, aby zobaczyć to na własnym komputerze.

Siedemnaście: liniowy, szybka linia, schodkowy, powierzchniowy, zakresowy powierzchniowy, słupkowy, punktowy, bąbelkowy, świecowy, OHLC, kołowy i pierścieniowy, radarowy, mapa cieplna, mapa drzewa, lejek, pudełkowy i kaskadowy. Każdy to komponent, więc możesz łączyć kilka na jednym wykresie, z taką liczbą osi, jakiej potrzebujesz.

Nie. Community zawiera serie świecową i OHLC, ale nie serie wskaźników i wolumenu, panele, agregator, narzędzia rysowania, znacznik ostatniej wartości ani pasmo bid i ask. Te elementy oraz źródła na żywo sgcChartsWS wymagają edycji Registered. Zobacz Edycje w pomocy.

Tak. SaveToPNG i SaveToSVG zapisują to, co pokazuje widok, a TsgcChartRenderer renderuje model wykresu do plików lub strumieni PNG albo SVG bez okna, w wybranej szerokości, wysokości i skali. To zwykła droga do PDF lub treści e-maila.

Tak, bez interfejsu. Od Delphi 10.2 model wykresu i TsgcChartRenderer kompilują się dla Linux64 i zapisują PNG oraz SVG. Nie ma kontrolki widoku dla Linuksa. W .NET pakiet esegece.sgcCharts.Rendering obsługuje .NET Standard 2.0, .NET Framework 4.7.2 oraz .NET 6, 8, 9 i 10.

Punkty ręczne, CSV, JSON, dowolny TDataSet i tabela w pamięci w każdej licencji produktu. Z edycją Registered i sgcWebSockets most sgcChartsWS dodaje strumienie rynkowe Binance, tematy MQTT, JSON przez WebSocket i zdarzenia wysyłane przez serwer.

Pomoc sgcCharts

3,000+Programistów
20+Lat
761+Komponentów
30+Integracji API
5Platform
30-dniowa gwarancja zwrotu pieniędzyNie jesteś zadowolony? Poproś o pełny zwrot pieniędzy w ciągu 30 dni od zakupu. Zobacz politykę zwrotów

Wypróbuj sgcCharts już dziś

Wersja próbna sgcUI zawiera sgcCharts i każdy inny produkt sgcUI.