VB Chart Series Label

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von zawar95.

    VB Chart Series Label

    Hallo Leute :),

    ich bin neu hier im Forum. Bei Problemen bei denen ich einfach nicht weiter komme habe ich bis jetzt Diese Seite oft Besucht.

    Allerdings konnte ich zu diesem Problem keinen bereits vorhanden Thread finden.

    Mein Problem ist das ich 6 Warengruppen in einem Chart ausgeben möchte. Dies funktioniert soweit auch, zudem würde ich gerne den Wert jeder Warengruppe über den jeweiligen Balken anzeigen. Dies tue ich mit Chart.series(0).label = lv_preis.

    Jedoch wird es mir so angezeigt: Bild im Anhang.

    Hier ist der dazugehörige Quellcode:

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    Chart2.Hide()
    Chart1.Show()
    Chart1.Series.Clear()
    Dim lv_preis(5) As Double
    Dim lv_wgr As String
    Dim lv_datum As String
    Dim i(5) As Double
    lv_datum = Now.ToString("dd.MM.yyyy")



    cmd.Connection = con
    cmd.CommandText = "select * from Verkaufsdaten Where Datum = '" & lv_datum & "'"
    con.Open()
    reader = cmd.ExecuteReader

    Chart1.Series.Add("WGR 1 in €")
    Chart1.Series.Add("WGR 2 in €")
    Chart1.Series.Add("WGR 3 in €")
    Chart1.Series.Add("WGR 4 in €")
    Chart1.Series.Add("WGR 5 in €")
    Chart1.Series.Add("WGR 6 in €")

    Do While reader.Read()

    If reader("WGR") = "1" Then
    i(0) = i(0) + 1
    lv_preis(0) = lv_preis(0) + reader("Preis")
    Chart1.Series(0).Points.AddXY(1, lv_preis(0))

    ElseIf reader("WGR") = "2" Then
    i(1) = i(1) + 1
    lv_preis(1) = lv_preis(1) + reader("Preis")
    Chart1.Series(1).Points.AddXY(2, lv_preis(1))
    ElseIf reader("WGR") = "3" Then
    i(2) = i(2) + 1
    lv_preis(2) = lv_preis(2) + reader("Preis")
    Chart1.Series(2).Points.AddXY(3, lv_preis(2))

    ElseIf reader("WGR") = "4" Then
    i(3) = i(3) + 1
    lv_preis(3) = lv_preis(3) + reader("Preis")
    Chart1.Series(3).Points.AddXY(4, lv_preis(3))
    ElseIf reader("WGR") = "5" Then
    i(4) = i(4) + 1
    lv_preis(4) = lv_preis(4) + reader("Preis")
    Chart1.Series(4).Points.AddXY(5, lv_preis(4))
    ElseIf reader("WGR") = "6" Then
    i(5) = i(5) + 1
    lv_preis(5) = lv_preis(5) + reader("Preis")
    Chart1.Series(5).Points.AddXY(6, lv_preis(5))
    End If

    Loop

    Chart1.Series(0).Label = "100"
    Chart1.Series(1).Label = "100"
    Chart1.Series(2).Label = lv_preis(2) & "€"
    Chart1.Series(3).Label = lv_preis(3) & "€"
    Chart1.Series(4).Label = lv_preis(4) & "€"
    Chart1.Series(5).Label = lv_preis(5) & "€"




    con.Close()
    End Sub

    Hoffe auf Hilfe
    Mit freundlichen Grüßen
    Zawar95
    Bilder
    • 2015-11-18 11_05_21-Analyse.png

      9,74 kB, 531×295, 205 mal angesehen
    @zawar95 Willkommen im Forum. :thumbup:
    Mit beliebigen Daten kann ich Deinen Output nachvollziehen. Wie soll denn das Chart aussehen?
    -----
    Fang an und nimm diese Labels raus:

    VB.NET-Quellcode

    1. 'Chart1.Series(0).Label = "100"
    2. 'Chart1.Series(1).Label = "100"
    3. 'Chart1.Series(2).Label = lv_preis(2) & "€"
    4. 'Chart1.Series(3).Label = lv_preis(3) & "€"
    5. 'Chart1.Series(4).Label = lv_preis(4) & "€"
    6. 'Chart1.Series(5).Label = lv_preis(5) & "€"

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo @RodFromGermany

    Bei WGR 2 soll lediglich einmal über dem Balken die Zahl 100 angezeigt werden als Beispiel. Also mich stört das, dass Label mehrfach angezeigt wird.

    Anstatt der Zahl 100 würde eigentlich mein Array lv_preis(1) stehen. Lv_preis zähle ich im Voraus Hoch und der darin gespeicherte Wert stimmt auch. Nur weiß ich jetzt nicht wie ich meinen Wert aus dem Array lv_preis(1) einmalig über den Balken WGR2 anzeigen lassen kann.

    Hoffe du kannst was mit dieser Beschreibung Anfangen..
    PS: Labels sind jetzt draußen: Siehe Anhang->

    Gruß zawar95
    Bilder
    • 2015-11-18 12_05_27-Analyse.png

      9,45 kB, 524×300, 185 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „zawar95“ ()

    zawar95 schrieb:

    Labels sind jetzt draußen
    Das war der Plan.
    Eine unmittelbare Lösung hab ich jetzt nicht parat.
    Am besten, Du gegst in den Designer und spielst dort mit den Properties rum, die Änderungen werden direkt im Chart angezeigt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!