Laden...

zedgraph Farbe der Kurve unterschiedlich zur Legende

Erstellt von frankuc45 vor 4 Jahren Letzter Beitrag vor 4 Jahren 5.324 Views
F
frankuc45 Themenstarter:in
6 Beiträge seit 2010
vor 4 Jahren
zedgraph Farbe der Kurve unterschiedlich zur Legende

Hallo Experten,

ich bin schon langsam am verzweifeln.
Ich möchte 4 Kurven in einem Diagramm darstellen ( Temperaturen verschiedener Räume )
Die Daten werden aus einer Datenbank eingelesen. Für jeden Raum gibt es eine Spalte in der Tabelle.
Alle 5 Minuten wird eine Zeile mit den aktuellen Temperaturen hinzugefügt.

Das Diagramm wird mit einem "Start Button" zusammengebaut.
Im Diagramm habe ich auch die verschiedenen Kurven nur haben die alle die gleiche Farbe.
In der Legende habe ich aber unterschiedliche Farben. Was mich auch wundert damit durch das Diagramm "Schräge" Linien gehen. Ich denke das kommt daher weil zedgraph die Daten als "eine" Linie sieht, das würde auch erklären warum alle Linien die gleiche Farbe haben.

Nur warum ist das so ?
Ich blicks nicht.

       
 private  void diagram_bauen()
        {

            //Farben der Datenreie festlegen
            Color[] Farbe = new Color[10];
            Farbe[0] = Color.Aqua;
            Farbe[1] = Color.Blue;
            Farbe[2] = Color.Black;
            Farbe[3] = Color.Green;
            Farbe[4] = Color.Gray;
            Farbe[5] = Color.HotPink;
            Farbe[6] = Color.Magenta;
            Farbe[7] = Color.MintCream;
            Farbe[8] = Color.Olive;
            Farbe[9] = Color.YellowGreen;



            zed1.GraphPane.CurveList.Clear();


            zed1.IsShowPointValues = true;
            zed1.GraphPane.Title.Text = "Temperaturwerte";
            zed1.GraphPane.XAxis.Title.Text = "Datum";
            zed1.GraphPane.YAxis.Title.Text = "Temperaturen";
            zed1.GraphPane.XAxis.Type = AxisType.Date;

            Cls_Daten_aus_Datenbank_erstellen DB_Daten = new Cls_Daten_aus_Datenbank_erstellen();

            DB_Daten.Start_zeit = start;
            DB_Daten.Ende_zeit = ende;

            //Jedes Element das markiert ist wird als Datenreihe dargestellt
            int a = 0;
            foreach (ListViewItem item in lst_Werte_Daten.Items)
            {
                if (item.Checked)
                {
                    DB_Daten.Name_Spalte = item.SubItems[1].Text; //Wie sie in der Datenbank heißt
                    DB_Daten.Teilen_durch = 10;
                    string Kurvenname = item.Text;      //Name wie sie im Inifile zugeordnet wird
                    zed1.GraphPane.YAxis.Scale.Min = 15;
                    zed1.GraphPane.YAxis.Scale.Max = 25;
                    zed1.GraphPane.AddCurve(Kurvenname, DB_Daten.PPL, Farbe[a], SymbolType.None);

                }
                a++;
            }

            //Test
            DB_Daten.Name_Spalte = "Temp_Wert2";
            zed1.GraphPane.AddCurve("Raum1", DB_Daten.PPL, Color.Olive, SymbolType.None);
            DB_Daten.Name_Spalte = "Temp_Wert3";
            zed1.GraphPane.AddCurve("Raum2", DB_Daten.PPL, Color.Green, SymbolType.None);
            //Test so gehts aber auch nicht

            zed1.AxisChange();
            zed1.Refresh();

        }

Danke für Eure Hilfe

Gruß Frankuc45

4.931 Beiträge seit 2008
vor 4 Jahren

Wie hängt denn DB_Daten.PPL mit jedem item zusammen?
Du benutzt bisher ja immer dieselbe DB_Daten.PPL-Instanz für alle Kurven, so daß diese als eine Datenreihe angesehen wird, s.a. Multiple curves on Same zedgraph plot.

F
frankuc45 Themenstarter:in
6 Beiträge seit 2010
vor 4 Jahren

Hallo Th69

super. Vielen Dank für die kurze und knackige Hilfe. Jetzt funktionierts.
Problem war damit nur eine PPL erstellt wurde.

Gruß frankuc45