Ich versuche, ein Liniendiagramm mit Echtzeitdaten für jede Sekunde in meiner Windows-Anwendung zu plotten. Dafür muss ich minimale (0 Sekunden) und maximale (10 Minuten) Werte für das Diagramm einstellen. Nach 10 Minuten beträgt der minimale Wert 10 Minuten und der maximale Wert 20 Minuten. Also muss ich jedes Mal 10 Minuten Daten anzeigen. Ich muss die vorherigen Daten mit der Bildlaufleiste von Anfang an anzeigen. Ich habe den folgenden Code ausprobiert, aber ich kann den Min- und Max-Wert des Diagramms nicht einstellen. Bitte lösen Sie mein Problem.Wie werden die minimalen und maximalen Werte für das Datum-Zeit-Diagramm mit C# festgelegt?
series1.XValueType = ChartValueType.DateTime;
series1.IsXValueIndexed = true;
series1.YAxisType = AxisType.Primary;
series1.ChartType = SeriesChartType.Line;
this.chart1.Series.Add(series1);
series2.XValueType = ChartValueType.DateTime;
series2.IsXValueIndexed = true;
series2.YAxisType = AxisType.Secondary;
series2.ChartType = SeriesChartType.Line;
this.chart1.Series.Add(series2);
chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss";
chart1.ChartAreas[0].CursorX.IntervalType = DateTimeIntervalType.Seconds;
chart1.ChartAreas[0].CursorX.AutoScroll = true;
chart1.ChartAreas[0].CursorY.AutoScroll = true;
chart1.ChartAreas[0].AxisX.ScrollBar.Size = 15;
chart1.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.All;
chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false;
chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = true;
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisY2.ScaleView.Zoomable = true;
chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
DateTime minValue, maxValue;
minValue = DateTime.Now;
maxValue = minValue.AddSeconds(600);
chart1.ChartAreas[0].AxisX.Minimum = minValue.ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = maxValue.ToOADate();
chart1.ChartAreas[0].AxisX.ScaleView.Zoom(chart1.ChartAreas[0].AxisX.Minimum, chart1.ChartAreas[0].AxisX.Maximum);
Was ist das Verhalten mit diesem Code? Was läuft falsch? – niksofteng
@nikhil: Ich kann den minimalen und maximalen Bereich für Datetime-Chart mit Echtzeitdaten nicht festlegen. –
Ist dieses MS-Chart-Steuerelement in WinForm? – qxg