MS Chart nur fünf Messwerte anzeigen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von tulla.

    MS Chart nur fünf Messwerte anzeigen

    Hi,

    wie stelle ich es im Chart ein das er nur die aktuellsten 4 Einträge (1 komplette Stunde) anzeigt und dann mit einer Scrollbar arbeitet?!?!?

    In meinem Beispiel dann nur rechts vom roten senkrechten strich und alles was links daneben steht "verschwindet" dann hinter der Scrollmaske.

    Hi,
    kann ich gerne machen, nur ist da nicht viel was die Scrollbar betrifft. Das wir ja irgendeine Einstellung in den Eigenschaften sein...


    VB.NET-Quellcode

    1. Chart1.Series.Add("Ofen")
    2. Dim blockSize As Integer = 1
    3. Dim mypath As String = TextBox1.Text
    4. For series As Integer = 0 To 18 Step 1
    5. Chart1.Series(series).YValueType = DataVisualization.Charting.ChartValueType.Double
    6. Chart1.Series(series).IsVisibleInLegend = True
    7. Chart1.Series(series).BorderWidth = 2
    8. Chart1.Series(series).ChartType = DataVisualization.Charting.SeriesChartType.Spline
    9. ' Chart1.Series(series).ChartType = DataVisualization.Charting.SeriesChartType.FastLine
    10. Next
    11. 'Zoomen einstellen
    12. Chart1.ChartAreas(0).CursorX.IsUserSelectionEnabled = True
    13. Chart1.ChartAreas(0).CursorX.IsUserEnabled = True
    14. Chart1.ChartAreas(0).CursorX.IntervalType = DataVisualization.Charting.DateTimeIntervalType.Minutes
    15. '#################################################
    16. 'scrollen
    17. ' disable zoom-reset button (only scrollbar's arrows are available)
    18. Chart1.ChartAreas(0).AxisX.ScrollBar.ButtonStyle = DataVisualization.Charting.ScrollBarButtonStyles.None
    19. ' Enable zooming on the chart for the end-user.
    20. Chart1.ChartAreas(0).AxisX.ScaleView.Zoomable = True
    21. '#################################################
    22. Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.Gray
    23. Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "{0.0} °C"
    24. Chart1.ChartAreas(0).AxisY.IsStartedFromZero = False
    25. ' Set the size of the view.
    26. Chart1.ChartAreas(0).AxisX.IntervalType = DataVisualization.Charting.DateTimeIntervalType.Minutes
    27. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.Gray
    28. Chart1.ChartAreas(0).AxisX.LabelStyle.Format = "dd.MM. - HH:mm"
    29. Chart1.ChartAreas(0).AxisX.Interval = 15
    30. Chart1.ChartAreas(0).CursorX.AutoScroll = True
    31. Dim RaumAnzahlInsg As Integer = Form_Settings.DataGridView1.Columns.Count - 1 ' Messpunkte (Keller,Wohnzimer...)
    32. Dim MaxMessungen As Integer = Form_Settings.DataGridView1.Rows.Count - 1 'Temperaturwerte in °C
    33. TextBox2.Text = MaxMessungen
    34. TextBox3.Text = RaumAnzahlInsg
    35. For i = 1 To RaumAnzahlInsg
    36. For j = 0 To MaxMessungen
    37. Dim temperatur As Double = Form_Settings.DataGridView1(i, j).Value
    38. Dim datum As Date = Form_Settings.DataGridView1(0, j).Value
    39. TextBox4.Text = Form_Settings.DataGridView1(0, MaxMessungen).Value
    40. Select Case (i)
    41. Case 1
    42. If Me.CB_Ofen.Checked Then
    43. Chart1.Series("Ofen").Points.AddXY(datum, temperatur)
    44. End If
    45. End Select
    46. Next
    47. Next
    Zeigt er in dem Chart die gesamte aufzeichnungszeit an oder nur aus dem aktuellen stand?

    Wenn es die gesamte aufzeichnungszeit ist, musst die Daten vorher Filtern eingrenzen mit der aktuellen zeit.

    Wegen der scrollbar probier mal:

    VB.NET-Quellcode

    1. Chart1.ChartAreas(0).AxisX.ScrollBar.Visible = True

    Du kannst die Schleife von Series von 18 Messwerten auf 4 setzten da wird doch auch nur die Auswahl von 4 Werten also eine Stunde angezeigt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „tulla“ ()