我愿意显示一个基于datagridview的折线图,但我希望不仅能显示所有x值,而且只显示每个5或10个值,例如我有温度记录我的房间在10天内每小时一次,所以我得到了24x10 = 240的数据,但我希望能够只显示图表上显示的每3小时一次的值。另一个前。我有1-100的数据我想只显示每个数据5,10,15,20的图表,...怎么可能呢?
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
上面的代码已成功显示正常折线图。
答案 0 :(得分:0)
使用vb.net中的Mod跳过您不想在循环中绘制的点
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
这会跳过所有x值,其中3不会没有余数。您可以将Dim divisor = 3
更改为Dim divisor = 5
,以跳过所有x值,其中5不会没有余数等等。