Построить графики - VB
Формулировка задачи:
Есть текстовый файл с показаниями трех датчиков.
Надо построить график каждого датчика отдельно. Вывод на PictureBox.
По оси x -время, по оси y - температура.
Программа уже считывает эти показания из data.txt.
Нужны только графики.
текстовый файл data.txt, содержащий показания трех датчиков, каждый из которых регистрировал значения температуры физического объекта на протяжении фиксированного промежутка времени от X часов Y минут с интервалом в D минут.
1 30 32 34
2 28 25 36
3 25 21 38
4 24 19 38
5 20 18 39
6 17 13 44
7 15 12 47
X=14 Y=22 D=11
Листинг программы
- Private Sub Command1_Click()
- k = FreeFile()
- Open App.Path + "\" + "data.txt" For Input As #k
- Do
- Input #1, t$
- n = n + 1
- Loop Until EOF(k)
- n = n - 1
- ReDim a(n), b(n), c(n), d(n)
- Seek (k), 1
- For i = 0 To n
- Input #k, t
- s = Split(t)
- a(i) = Val(s(0)): b(i) = Val(s(1)): c(i) = Val(s(2)): d(i) = Val(s(3))
- Next i
- Close #k
- Command2.Enabled = True
- Command3.Enabled = True
- Command4.Enabled = True
- End Sub
Решение задачи: «Построить графики»
textual
Листинг программы
- '::: Построение нескольких графиков в одном PictureBox
- ' pB - PictureBox
- ' X - массив аргументов
- ' Y - двумерный массив знач. функций
- ' Сo - массив цветов
- Sub uDraw(pb As PictureBox, X() As Double, Y() As Double, Co() As OLE_COLOR)
- ng% = UBound(Y, 1) '::: число графиков
- np% = UBound(X, 1) '::: число точек
- '::: Определим xmin, xmax, ymin, ymax
- xmin# = X(1)
- xmax# = X(1)
- For i% = 2 To np%
- If X(i%) > xmax# Then xmax# = X(i%)
- If X(i%) < xmin# Then xmin# = X(i%)
- Next i%
- ymax# = Y(1, 1)
- ymin# = Y(1, 1)
- For i% = 1 To ng%
- For j% = 1 To np%
- If Y(i%, j%) > ymax# Then ymax# = Y(i%, j%)
- If Y(i%, j%) < ymin# Then ymin# = Y(i%, j%)
- Next j%
- Next i%
- '::: Устанавливаем масштаб
- pb.Scale (xmin#, ymax#)-(xmax#, ymin#)
- '::: Рисуем
- For i% = 1 To ng%
- pb.PSet (X(1), Y(i%, 1)), Co(i%)
- For j% = 2 To np%
- pb.Line -(X(j%), Y(i%, j%)), Co(i%)
- Next j%
- Next i%
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д