Построить графики - VB

Узнай цену своей работы

Формулировка задачи:

Есть текстовый файл с показаниями трех датчиков.
текстовый файл 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
Надо построить график каждого датчика отдельно. Вывод на PictureBox. По оси x -время, по оси y - температура. Программа уже считывает эти показания из data.txt.
Листинг программы
  1. Private Sub Command1_Click()
  2. k = FreeFile()
  3. Open App.Path + "\" + "data.txt" For Input As #k
  4. Do
  5. Input #1, t$
  6. n = n + 1
  7. Loop Until EOF(k)
  8. n = n - 1
  9. ReDim a(n), b(n), c(n), d(n)
  10. Seek (k), 1
  11. For i = 0 To n
  12. Input #k, t
  13. s = Split(t)
  14. a(i) = Val(s(0)): b(i) = Val(s(1)): c(i) = Val(s(2)): d(i) = Val(s(3))
  15. Next i
  16. Close #k
  17. Command2.Enabled = True
  18. Command3.Enabled = True
  19. Command4.Enabled = True
  20. End Sub
Нужны только графики.

Решение задачи: «Построить графики»

textual
Листинг программы
  1. '::: Построение нескольких графиков в одном PictureBox
  2.  
  3. ' pB  - PictureBox
  4. ' X   - массив аргументов
  5. ' Y   - двумерный массив знач. функций
  6. ' Сo - массив цветов
  7.  
  8. Sub uDraw(pb As PictureBox, X() As Double, Y() As Double, Co() As OLE_COLOR)
  9.    
  10.     ng% = UBound(Y, 1) '::: число графиков
  11.    np% = UBound(X, 1) '::: число точек
  12.    
  13.     '::: Определим xmin, xmax, ymin, ymax
  14.    
  15.     xmin# = X(1)
  16.     xmax# = X(1)
  17.  
  18.     For i% = 2 To np%
  19.         If X(i%) > xmax# Then xmax# = X(i%)
  20.         If X(i%) < xmin# Then xmin# = X(i%)
  21.     Next i%
  22.    
  23.     ymax# = Y(1, 1)
  24.     ymin# = Y(1, 1)
  25.  
  26.     For i% = 1 To ng%
  27.         For j% = 1 To np%
  28.             If Y(i%, j%) > ymax# Then ymax# = Y(i%, j%)
  29.             If Y(i%, j%) < ymin# Then ymin# = Y(i%, j%)
  30.         Next j%
  31.     Next i%
  32.    
  33.     '::: Устанавливаем масштаб
  34.    
  35.     pb.Scale (xmin#, ymax#)-(xmax#, ymin#)
  36.    
  37.     '::: Рисуем
  38.    
  39.     For i% = 1 To ng%
  40.         pb.PSet (X(1), Y(i%, 1)), Co(i%)
  41.         For j% = 2 To np%
  42.             pb.Line -(X(j%), Y(i%, j%)), Co(i%)
  43.         Next j%
  44.     Next i%
  45.    
  46. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы