2016-04-15 11 views
0

Ich arbeite mit Visual Studio 2015, C#, WinForms.Warum Diagramm zeigen die hinzugefügten Punkte nicht?

ich ein normales Diagramm von Toolkits und geändertenem Typ Linie nur hinzugefügt, fügte dann den folgenden Code:

chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH"; 
chart1.ChartAreas[0].AxisX.Interval = 1; 
chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Hours; 
chart1.ChartAreas[0].AxisX.IntervalOffset = 0; 
chart1.ChartAreas[0].AxisX.IsMarksNextToAxis = true; 
chart1.ChartAreas[0].AxisX.IsStartedFromZero = true; 
DateTime minDate = DateTime.Today; 
DateTime maxDate = minDate.AddHours(23); 
chart1.ChartAreas[0].AxisX.Minimum = minDate.ToOADate(); 
chart1.ChartAreas[0].AxisX.Maximum = maxDate.ToOADate(); 
chart1.Series[0].BorderWidth = 2; 
for (int i = 0; i < 24; i++) 
{ 
    chart1.Series[0].Points.AddY(i); 
} 

Ausgang:

Output

Warum das Diagramm zeigt, ist nicht die Punkte hinzugefügt?

+0

Sie sind wahrscheinlich außerhalb der Grenzen des AxisX.Minimum und AxisX.Maximum. Sehen Sie sich die Werte der beteiligten Variablen im Debugger an. Du wirst das Doppelte sehen. Das sollte klären. – TaW

Antwort

0

Ich glaube, Sie X-Wert

chart1.Series[0].Points.Add(new Point(x, y)); 

EDIT verpassen (alle Punkt Unentschieden auf X = 0?): War falsch.

Problem ist, dass Ihr minX Wert auf Achsen 42.475,0 ist, im Debug überprüfen. Maximum ist 42475,9583333333. Sie werden also Ihren Wert für Xc < 0,24 nicht sehen. Ändern Sie Ihre X ax Limetten :)

+0

Welche Grenzwerte sollte ich dann verwenden? – Fran

+0

Hängt davon ab, welche X-Achsen Sie wollen? chart1.Series [0] .Points.AddXY (neue Nummer (i + minDate.ToOADate(), y)); Dann sollten Sie X Punkte von Ihrem Achsenminimum und Intervall von 1 (von i Inkrementierung) bekommen. Aber auch das ist deine Axe 42475.0 - 42475.9583333333 also range ist kleiner als 1. Reorganisiere das :) – Elektryczny

0

Sie setzen die XAxis Bereich (Minimum und Maximum) bis zu sehr großen Wert finden Sie in der Dokumentation für DateTime.ToOADate.

Sie können auch nur den Y-Punkt-Wert festlegen, der diese an Ihre Datenpunktsammlung anfügt. Das Ergebnis hängt davon ab, welchen Diagrammtyp Sie verwenden (den Sie nicht angeben).

+0

habe ich im us line type spezifiziert, welchen Bereich soll ich dann verwenden? Die Dokumentation hilft nicht sehr um ehrlich zu sein. – Fran

+0

Das hängt davon ab, was Sie die Achse zeigen wollen, möchten Sie vielleicht ein Minimum von 0 und maximal 23 als Ausgangspunkt, um zu versuchen. –

Verwandte Themen