Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Multimedia

k23:k23.8:start

23.8.0 Komponente gb.chart

B0

Wenn Sie Daten eindrucksvoll grafisch präsentieren wollen, dann ist die Chart-Komponente gb.chart genau das Richtige. Leider ist die Komponente nicht stabil und auch nicht fehlerfrei. Trotzdem lassen sich zum Beispiel mit wenigen Anweisungen einfache, aber aussagekräftige Diagramme wie Linien-Diagramme erzeugen. Deshalb kann es sich durchaus lohnen, mit dieser Komponente zu experimentieren. Das gilt auch vor dem Hintergrund, dass der Entwickler ankündigte, die Komponente zu überarbeiten.

23.8.0.1 Klasse Chart

Die Klasse Chart kann wie ein Objekt verwendet werden, indem man bei Bedarf eine versteckte Instanz erzeugt. Diese Klasse verhält sich wie ein schreibgeschütztes Array. Die Diagrammklasse repräsentiert ein Diagrammobjekt, das in einer DrawingArea oder auf einem Bild vom Typ Picture gezeichnet werden kann. Sie können auch die Daten ständig aktualisieren – im Gegensatz zu den meisten anderen Chart-Bibliotheken.

Die Klasse können Sie erzeugen:

Dim hChart As Chart
hChart = New Chart()

Anschließend können Sie die Werte ausgewählter Chart-Eigenschaften festlegen:

With hChart
  .Title = "Temperature time diagram (Berlin 2020)"
  ... 
End With

23.8.0.2 Eigenschaften

Die Klasse Chart verfügt über die folgenden Eigenschaften:

EigenschaftDatentypBeschreibung
BackGroundIntegerSetzt die Hintergrundfarbe oder gibt die Hintergrundfarbe für den Diagramm-Hintergrund zurück.
Colors_ColorsDefiniert die Farben zum Beispiel für die einzelnen Teile in einem Säulen-Diagramm, Kreis-Diagramm oder Ring-Diagramm in einem Integer-Array.
CountDataSetsIntegerLegt die Anzahl der Datensätze fest oder gibt die Anzahl der Datensätze zurück, die im Diagramm verwendet werden sollen. Wenn es zum Beispiel 2 Datensätze in einem „Säulen“-Diagramm gibt, werden 2 Säulen nebeneinander in unterschiedlichen Farben gezeichnet.
Headers_CHeadersDefiniert die Bezeichnungen der Werte auf der x-Achse in einem String-Array.
HeightIntegerSetzt die Diagramm-Höhe (Pixel) oder gibt den Wert zurück.
WidthIntegerSetzt die Diagramm-Breite (Pixel) oder gibt den Wert zurück.
Legend_CLegendSetzt die Beschreibungen in der Diagramm-Legende.
ProportionnalBooleanLegt fest oder gibt zurück, ob die im Diagramm verwendeten Schriften proportional zur Diagramm-Größe gezeichnet werden. Die Eigenschaft wird so bezeichnet!
Title_CTitleSetzt die Beschreibung des Diagramms mit Chart.Title.Text.
TypeIntegerSetzt den Diagramm-Typ oder gibt den Typ zurück. Der Typ wird durch eine der ChartType-Konstanten bestimmt.
XAxe_CXAxeLiefert ein Objekt, das anzeigt, wie die X-Achse im Diagramm dargestellt wird.
YAxe_CYAxeLiefert ein Objekt, das anzeigt, wie die Y-Achse im Diagramm dargestellt wird.

Tabelle 23.8.0.2.1 : Eigenschaften der Klasse Chart

Hier sehen Sie die Übersicht zu den Diagramm-Typen, von denen jedoch nur wenige brauchbare (:!:) Diagramme liefern:

  • :!: CONST Columns As Integer = 0
  • :!: CONST ColumnsStacked As Integer = 1 – Nur bei entsprechenden Daten
  • CONST ColumnsPercent As Integer = 2
  • CONST ColumnsLineCombination As Integer = 3
  • CONST Pie As Integer = 10
  • CONST PieRings As Integer = 11
  • CONST PieOffSet1 As Integer = 12
  • CONST PieOffSet2 As Integer = 13
  • :!: CONST {Lines} As Integer = 20
  • :!: CONST LinesStacked As Integer = 21 – Jedoch nur bei positiven Funktionswerten
  • CONST LinesPercent As Integer = 22
  • :!: CONST LinesSymbols As Integer = 23
  • :!: CONST Areas As Integer = 30
  • :!: CONST AreasStacked As Integer = 31
  • CONST AreasPercent As Integer = 32
  • :!: CONST AreasSymbols As Integer = 33
  • CONST Bars As Integer = 40
  • CONST BarsStacked As Integer = 41
  • CONST BarsPercent As Integer = 42
  • :!: CONST Plots As Integer = 50

23.8.0.3 Klasse _Colors

Die Farben für die einzelnen Teile zum Beispiel in einem Säulen-Diagramm, Kreis-Diagramm oder Ring-Diagramm legen Sie in einem Integer-Array fest. Die virtuelle Klasse _Colors verfügt über diese Eigenschaften:

EigenschaftDatentypBeschreibung
ValueInteger[ ]Legt die Farben für die einzelnen Daten(-Reihen) in einem Integer-Array fest.
StyleIntegerLegt fest, ob die Farben aus einem selbst definierten Farb-Array ausgelesen oder automatisch generiert werden. Style kennt die Konstanten Custom und Auto.

Tabelle 23.8.0.3.1 : Eigenschaften der Klasse _Colors

Die Klasse _Colors verfügt über eine Add()-Methode, mit der Sie einzelne Farben festlegen können. Wenn ein Datensatz aus jeweils 3 Werten besteht, dann benötigen Sie auch 3 Farben:

With Chart.Colors.Values
    .Add(Color.Red)
    .Add(Color.Blue)
    .Add(Color.Green)
  End With

Beispiel:

Public Sub btnColors_Click()
  If btnColors.Text = ("Custom colors") Then
  '  Die Farben werden aus einem selbst definierten Farb-Array ausgelesen
     Chart.Colors.Style = Chart.Colors.Custom 
     btnColors.Text = ("Default colors")
  Else
     Chart.Colors.Style = Chart.Colors.Auto '  Die Farben werden automatisch generiert
     btnColors.Text = ("Custom colors")
  Endif  
  DrawingArea1.Refresh()
End

23.8.0.4 Klasse _CHeaders

Mit Hilfe der Klasse definieren Sie die Bezeichnungen der Werte auf der x-Achse in einem String-Array. Die virtuelle Klasse _CHeaders verfügt über folgende Eigenschaften:

EigenschaftDatentypBeschreibung
CountIntegerLegt die Anzahl der einzelnen Bezeichner fest.
ValuesString[ ]Legt die unterschiedlichen Bezeichner in einem String-Array fest.

Tabelle 23.8.0.4.1 : Eigenschaften der Klasse _CHeaders

Die Klasse verfügt über eine Add()-Methode, mit der Sie einzelne Bezeichner festlegen können. Wenn zum Beispiel 4 Werte auf der x-Achse angezeigt werden sollen, dann benötigen Sie auch 4 Bezeichner:

  With Chart.Headers.Values
    .Add("Frühjahr")
    .Add("Sommer")
    .Add("Herbst")
    .Add("Winter")
  End With
 
Chart.Headers.Values = ["Frühjahr", "Sommer", "Herbst", "Winter"] ' Alternative

23.8.0.5 Klasse _CLegend

In dieser Klasse werden die Eigenschaften für die Diagramm-Legende gesetzt. Die virtuelle Klasse _CLegend verfügt über diese Eigenschaften:

EigenschaftDatentypBeschreibung
FontFontLegt den Font fest oder gibt ihn zurück.
PositionIntegerGibt die Position an, wo die Legende angezeigt wird. Den Wert liefern die beiden Konstanten Align.Bottom und Align.Right. Andere Werte werden ignoriert.
TitleStringSetzt die Überschrift der Legende.
VisibleBooleanLegt fest, ob die Legende angezeigt wird oder nicht. Sie können den Wert auch auslesen.

Tabelle 23.8.0.5.1 : Eigenschaften der Klasse _CLegend

Beispiel:

'-- Defines the legend of the diagram.
    Chart.Legend.Title = "Information"
    Chart.Legend.Font = Font["Arial,+5"] 	' Font for the legend - relative
    Chart.Legend.Position = Align.Bottom 	' Alternative: Align.Right
    Chart.Legend.Visible = True

23.8.0.6 Klasse _CTitle

Die virtuelle Klasse _CTitle hat drei Eigenschaften, mit denen Sie den Font, den Text und die Sichtbarkeit für den Diagramm-Titel beschreiben:

EigenschaftDatentypBeschreibung
FontFontLegt den Font fest oder gibt ihn zurück.
TextStringSetzt die Diagramm-Überschrift. Sie können den Wert auch auslesen.
VisibleBooleanLegt fest, ob die Diagramm-Überschrift angezeigt wird oder nicht. Sie können den Wert auch auslesen.

Tabelle 23.8.0.6.1 : Eigenschaften der Klasse _CTitle

Beispiel:

'-- Visibility, title and font of the diagram
    Chart.Title.Visible = True
    Chart.Title.Text = "Spannung-Zeit-Diagramm"
    Chart.Title.Font = Font["Arial,24"] ' Font for the title - absolute in px

23.8.0.7 Klasse _CXAxe

Die Eigenschaften der x-Achse (Abzisse) des Diagramms werden über deren Eigenschaften gesetzt. Die virtuelle Klasse _CXAxe hat diese Eigenschaften:

EigenschaftDatentypBeschreibung
AutoScaleBooleanLegt mit True fest, dass die x-Achse automatisch beschriftet wird.
FontFontLegt den Font fest oder gibt ihn zurück.
MinValueFloatSetzt den minimalen Wert auf der x-Achse oder gibt ihn zurück. Standard ist 0.
MaxValueFloatSetzt den maximalen Wert auf der x-Achse oder gibt ihn zurück. Standard ist 100.
StepFloatSetzt die Schrittweite auf der x-Achse oder gibt sie zurück.
VisibleBooleanGibt an, ob die die x-Achse angezeigt werden soll oder nicht. Sie können den Wert auch auslesen.

Tabelle 23.8.0.7.1 : Eigenschaften der Klasse _CXAxe

23.8.0.8 Klasse _CYAxe

Die Eigenschaften der y-Achse (Ordinate) des Diagramms werden über die Klassen-Eigenschaften gesetzt. Die virtuelle Klasse _CYAxe besitzt diese Eigenschaften:

EigenschaftDatentypBeschreibung
AutoScaleBooleanLegt mit True fest, dass die y-Achse automatisch beschriftet wird.
FontFontLegt den Font fest oder gibt ihn zurück.
MinValueFloatSetzt den minimalen Wert auf der y-Achse oder gibt ihn zurück. Standard ist 0.
MaxValueFloatSetzt den maximalen Wert auf der y-Achse oder gibt ihn zurück. Standard ist 100.
StepFloatSetzt die Schrittweite auf der y-Achse oder gibt sie zurück.
ShowIntervallLinesBooleanGibt an, ob horizontale Linien – parallel zur x-Achse – angezeigt werden sollen. Der Standard ist True.
VisibleBooleanGibt an, ob die y-Achse angezeigt werden soll. Sie können den Wert auch auslesen.

Tabelle 23.8.0.8.1 : Eigenschaften der Klasse _CYAxe

Beispiel:

Chart.YAxe.AutoScale = False
Chart.YAxe.MinValue = 0
Chart.YAxe.MaxValue = 5
Chart.YAxe.Step = 1
Chart.YAxe.ShowIntervalLines = False
Chart.YAxe.Visible = True

Hinweis:

Ein vollständiges Projekt für ein Linien-Symbol-Diagramm, das ausgewählte Klassen der Komponente gb.chart verwendet, finden Sie im nächsten Kapitel. Die Besonderheit besteht darin, dass die anzuzeigenden Daten in drei Serien aus einer SQLite-Datenbank-Tabelle ausgelesen werden.

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k23/k23.8/start.txt · Zuletzt geändert: 17.04.2021 (Externe Bearbeitung)

Seiten-Werkzeuge