Pie Chart - Unterschiedliche Farben für die Tortenstücke

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von ooooA8.

    Pie Chart - Unterschiedliche Farben für die Tortenstücke

    Hallo,

    ich suche verzweifelt die Eigenschaft jedem Tortenstück, seine eigene, von mir definierte, Farbe zu geben.

    VB.NET-Quellcode

    1. Dim groups = From Zeile In ds_Gantt.Tables("Gantt").AsEnumerable Group Zeile By GrStatus = Zeile.Field(Of String)("Status") Into SummeDauer = Sum(CInt(Zeile.Field(Of String)("Meldungsdauer"))) Select SummeDauer, GrStatus
    2. For Each i In groups
    3. Chart1.Series("Series1").Points.AddXY(i.GrStatus, i.SummeDauer) Next
    4. Chart1.Series("Series1").ChartType = SeriesChartType.Pie
    Willkommen im Forum. :thumbup:
    Wo werden die denn dargestellt (Paint oder so)?

    VB.NET-Quellcode

    1. Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
    2. Dim g As Graphics = e.Graphics
    3. g.DrawPie(Pens.Azure, New Rectangle(0, 0, 100, 100), 5, 80)
    4. g.DrawPie(Pens.Red, New Rectangle(0, 0, 100, 100), 95, 80)
    5. g.DrawPie(Pens.Yellow, New Rectangle(0, 0, 100, 100), 185, 80)
    6. g.DrawPie(Pens.Green, New Rectangle(0, 0, 100, 100), 275, 80)
    7. End Sub
    Oder wer stellt Deine Charts dar?
    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!
    Ich dachte das wird aus dem oben geposteten Code klar.
    Ich benutze das Charttool von VB2010
    System.Web.UI.DataVisualization.Charting

    VB.NET-Quellcode

    1. Chart1.Series("Series1").Points.AddXY(i.GrStatus, i.SummeDauer)Chart1.Series("Series1").ChartType = SeriesChartType.Pie
    Gib mal
    Chart1.Series("Series1").
    ein und ein Leerzeichen.
    Dann sollte Dir die IDE anbieten, was da ist. Such in der Liste nach einem farbigen Begriff.
    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!
    Probier mal

    VB.NET-Quellcode

    1. Chart1.Series("Series1").Color = Color.Green
    oder eine von Dir gewünschte Farbe.
    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!
    Ich glaube, ich habe mein Anliegen nicht gut erklärt.
    Ja man kann mit der Eigenschaft

    VB.NET-Quellcode

    1. Chart1.Series("Series1").Color = (hier Farbe angeben)
    der SERIE eine Farbe zuweisen.
    Ich möchte aber jedem Tortenteil eine andere Farbe geben.
    Also so etwas wie das hier

    VB.NET-Quellcode

    1. Chart1.Series("Series1").Tortenstück1.Color = (hier Farbe angeben)
    * Tortenstück1 von mir augedacht.

    Aber das gibt es nicht.
    Ist System.Web.UI.DataVisualization.Charting ein Network 4.0-Control?
    Ich hab momentan nur Network 3.5 greifbar.
    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!
    Beim Pie Chart ist deine Serie praktisch das ganze Chart.
    Die einzelnen Tortenstücke sind die Points der Serie.

    Du musst praktisch alle Points durchlaufen und ihnen eine andere Farbe zuweisen gemacht wird das ungefährt so:

    VB.NET-Quellcode

    1. For each dp as Datapoint in Chart1.Series("Series1").points
    2. dp.Color = color.green
    3. Next


    Musste hald dann noch schaun wie du das löst dass du den Points unterschiedliche farben zuweist, hiermit kommst du aber aufallefälle schonmal an deine "Tortenstücke" ran!
    Das sähe dann so aus:

    VB.NET-Quellcode

    1. Chart1.Series("Series1").points(0).Color = Color.Green
    2. Chart1.Series("Series1").points(1).Color = Color.Blue
    3. Chart1.Series("Series1").points(2).Color = Color.Red
    usw.
    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!