2016-07-11 4 views
0

Я готов показать линейную диаграмму, основанную на datagridview, но я хотел бы показать не только все значения x, но и показывать только 5 или 10 значений, например У меня была запись температуры в моей комнате каждый час за 10 дней, поэтому я получил 24x10 = 240 данных, но я хотел бы показывать только значение каждые каждые 3 часа, показанные на графике. другой пример. У меня есть данные от 1-100. Я хочу показать диаграмму только из каждой информации 5,10,15,20, ... как это возможно?VB - отображение графика из 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 

приведенный выше код успешно показал нормальную линейную диаграмму.

+0

Почему вы храните информацию в DataGridView? Он называется DataGrid * View * по какой-либо причине :) У вас есть источник данных или массив данных с данными? – djv

+0

Фактически данные datagrid импортируют данные из файла excel, мне нужно просматривать и анализировать данные с помощью vb (w/o ms excel) по какой-то причине ^^ – Yon

ответ

0

Пропустить точки вы не хотите, чтобы построить в цикле, используя Mod в vb.net

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 

Это пропускает все х значения в которых 3 не делит без остатка. Вы можете изменить Dim divisor = 3 на Dim divisor = 5, чтобы пропустить все значения x, в которые 5 не делятся без остатка и т. Д.

+0

Большое вам спасибо за четкий ответ и решение :) @Verdolino – Yon

Смежные вопросы