2016-07-11 4 views
0

DataGridview를 기반으로하는 선형 차트를 표시하고 싶지만 모든 x 값뿐만 아니라 각 5 또는 10 값만 표시 할 수 있기를 원합니다 10 일 동안 매시간 내 방의 온도 기록이 있었기 때문에 24x10 = 240 데이터를 얻었지만 차트에 표시된 매 3 시간마다 값만 표시 할 수 있기를 원합니다. 또 다른 예. 나는 각각의 데이터 5,10,15,20에서 차트를 보여주고 싶은 1-100의 데이터를 가지고있다. 어떻게 할 것인가?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

실제로 데이터 그릿은 Excel 파일에서 데이터를 가져오고, 어떤 이유로 든 vb (w/o ms excel)를 사용하여 데이터를보고 분석해야합니다 ^^ – Yon

답변

0

당신이 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 나머지없이 나눌하지 않습니다되는 모든 X 값을 건너 뜁니다에 Mod를 사용하여 루프에서 플롯하지 않으려는 점을 건너 뜁니다. Dim divisor = 3Dim divisor = 5으로 변경하면 나머지 5 개가없는 모든 x 값을 건너 뛸 수 있습니다.

+0

정말 답답하고 해결책을 알려 주셔서 감사합니다 :) @Verdolino – Yon