none
c# Forms Chart Problem,Exakte Zeit des Datenpunkts auf XAchse anzeigen + Scrollbar Funktion RRS feed

  • Allgemeine Diskussion

  • Hallo,

    nach langem forum suchen und viel testen habe ich folgende frage.

    Ich haben hier beispielhaft mehrere Datenpunkte, jeder Punkt hat eine Feste Uhrzeit, welche sich im Msec bereich aber auch im Sec, Min, Stunden etc. bereich unterscheiden kann.

    Ich will einfach nach drücken auf einen Button mir diese Werte auswerten und in einem Diagramm Darstellen, auf der

    y-Achse wird einfach nur angegeben ob es "high" pegel also Zustand 1 hat und auf der

    X-Achse ist das Datum angegeben. Der Charttype ist Column

    Hier mein code:

                    var s = new Series("ID");
                    s.ChartType = SeriesChartType.Column;   //Column = Säule; Bar = Time auf Y achse
                   DateTime time = new DateTime(2014, 1, 17, 09, 30, 48, 923);
                    s.Points.AddXY(time.ToOADate(), 1);
                    DateTime time11 = new DateTime(2014, 1, 17, 09, 30, 49, 115);
                    s.Points.AddXY(time.ToOADate(), 1);
                    DateTime time2 = new DateTime(2014, 1, 17, 09, 30, 49, 317);
                    s.Points.AddXY(time2.ToOADate(), 1);
                    DateTime time3 = new DateTime(2014, 1, 17, 09, 30, 49, 519);
                    s.Points.AddXY(time3.ToOADate(), 1);
                    DateTime time4 = new DateTime(2014, 1, 17, 09, 30, 49, 744);
                    s.Points.AddXY(time4.ToOADate(), 1);
    
    
                    chart1.Series.Clear();
                    chart1.Series.Add(s);
                  
                    chart1.Series[0].XValueType = ChartValueType.DateTime;
                    //chart1.ChartAreas[0].AxisX.Interval = 1;
                    chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Auto;
                    
                    
                    //chart1.ChartAreas[0].AxisX.IntervalOffset = 1; 
                    chart1.ChartAreas[0].AxisX.LabelStyle.Format = "dd:MM:yyyy   HH:mm:ss:fff "; //Format der Anzuzeigenden Daten auf der Xachse
    
                    chart1.Series[0].XValueType = ChartValueType.DateTime;
      
                    chart1.ChartAreas[0].AxisX.Minimum = time.ToOADate();
                
                    chart1.ChartAreas[0].AxisX.Maximum = time4.ToOADate();
                    chart1.Series[0].BorderWidth = 3;
                    chart1.Series[0].ShadowOffset = 5;              //Schatten am Balken
                    chart1.Series[0]["PixelPointWidth"] = "13";     //dicke der Balken festlegen

    Jedoch bekomme ich wenn ich das Ausführe

    Eine Chart angezeigt , die die Balken anzeigt, jedoch steht auf der X-Achse nicht das Genaue Datum. Es steht einmal mitten im Diagramm (obwohl an der stelle kein Datenpunkt ist)  die Uhrzeit

    17.1.2014    09:30:49:000

    An dieser stelle ist auch ein Senkrechter dünner schwarzer Strich.

    Ich möchte aber an jedem Datenpunkt die Uhrzeit angezeigt bekommen, nur das interessiert micht.

    Außerdem kann es auch sein das auf diese chart 50 Werte passen müssen, also brauch ich eine Scrollbar oder so, aber ka wie das geht.

    danke

    • Typ geändert Ciprian Bogdan Montag, 31. März 2014 14:16 keine Rückmeldung
    Freitag, 24. Januar 2014 09:49

Alle Antworten