2016-07-11 14 views
0

Ich bin bereit, ein Liniendiagramm zu zeigen, das von Datagridview basiert, aber ich möchte nicht nur alle X-Werte anzeigen, sondern zum Beispiel nur jede 5 oder 10 Werte anzeigen Ich hatte jede Stunde in 10 Tagen eine Aufzeichnung der Temperatur in meinem Zimmer, also habe ich 24x10 = 240 Daten, aber ich würde gerne nur den Wert alle drei Stunden zeigen, der auf der Karte angezeigt wird. ein anderer Ex. Ich habe Daten von 1-100 Ich möchte Diagramm nur von jeder Daten 5,10,15,20 zeigen, ... wie ist es möglicherweise getan?VB - Anzeige von Diagramm aus Datagridview

Chart1.Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Line 
    Chart1.Series(0).Points.Clear() 
    For Count As Integer = 0 To dataGridView1.Rows.Count - 1 
     Chart1.Series(0).Points.AddXY(dataGridView1.Item(0, Count).Value, dataGridView1.Item(2, Count).Value) 
    Next 

Der obige Code hat erfolgreich das normale Liniendiagramm gezeigt.

+0

Warum speichern Sie Ihre Informationen im DataGridView? Es hat aus irgendeinem Grund DataGrid * View * :) Haben Sie eine Backing-Datenquelle oder ein Array mit den Daten? – djv

+0

tatsächlich importiert das Datagrid Daten aus Excel-Datei, ich muss die Daten mit vb (ohne ms ms Excel) aus irgendeinem Grund zu sehen und zu analysieren ^^ – Yon

Antwort

0

Überspringen Sie die Punkte, die Sie wollen nicht in der Schleife plotten Mod in vb.net mit

Dim divisor = 3 
Chart1.Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Line 
Chart1.Series(0).Points.Clear() 
For count As Integer = 0 To DataGridView1.Rows.Count - 1 
    If (DataGridView1.Item(0, count).Value Mod divisor = 0) Then 
     Chart1.Series(0).Points.AddXY(DataGridView1.Item(0, count).Value, DataGridView1.Item(2, count).Value) 
    End If 
Next count 

Dieses überspringt alle x-Werte, in die 3 nicht ohne Rest teilen. Sie können Dim divisor = 3 zu Dim divisor = 5 ändern, um alle X-Werte zu überspringen, in die 5 sich ohne einen Rest usw. nicht teilt.

+0

vielen Dank für die klare Antwort und Lösung :) @Verdolino – Yon