2016-07-28 6 views
0

Ich habe ein Diagramm-Steuerelement auf einem Windows-Formular und vor kurzem die Daten, die ich für die X-Achse aus einer Zeichenfolge, die das Datum zu einem Datetime-Typ.Einstellung der X-Achse Start auf den ersten Wert in der ersten Serie, Chart-Steuerelement

bevor ich ändere ich die minimale X-Achse auf 1 eins, so dass die Linie beginnt an der Y-Achse jetzt benutze ich ein Datum kann ich nicht das gleiche tun!

Gibt es eine einfache Möglichkeit, immer eine Linie auf einem Diagramm-Steuerelement auf der Y-Achse zu starten? Hier

ist, was ich tat und was ich versuche jetzt:

chart2.ChartAreas[0].AxisX.Minimum = 1; 

und wurde Hinzufügen von Daten so zu dem Diagramm:

seriesAve.Points.AddXY(strDate, average); //StrDate is a string, average is a double. 

ich jetzt tun es auf diese Weise:

seriesAve.Points.AddXY(dt.Date, average); 
DateTime tpdate = dateTimePicker1.Value; 

// results in cannot convert datetime to double. 
chart2.ChartAreas[0].AxisX.Minimum = tpdate.Date; 

Antwort

1

Alle X- und Y-Werte in einer Chart werden als doubles gespeichert.

Beim Hinzufügen eines Werts wie DateTime wird implizit mit der ToOADate Konvertierungsfunktion in Doppel konvertiert.

Also, wenn Sie einen Wert wie der Minimum festlegen müssen, Maximum etc müssen Sie diese Funktion in Ihrem Code aufrufen:

chart2.ChartAreas[0].AxisX.Minimum = tpdate.Date.ToOADate(); 

es konvertieren zurück zu einem DateTime verwenden, um die DateTime.FromOADate Funktion:

DateTime tpdate = DateTime.FromOADate(chart2.ChartAreas[0].AxisX.Minimum); 
+0

Vielen Dank @TaW Ich war im Kreis damit gegangen, es hat mein Problem behoben, sehr geschätzt ... – Adrian