Здравствуйте, уважаемые специалисты по VB.
Необходимо было построить график функции, заданно таблицей. Проблема возникла из-за того, что интервал по оси У от 20 до 24, а по оси Х от 0 до 3000.
Все относительно нормально. Оси подписываются нормально, график строится. Но строится он таким образом, как будто значения по оси Y от 0 до 24.
Текст по клику кнопки:
Private Sub Command1_Click()
Dim SngX As Single, Y As Single, BytI As Integer 'SngX –абсцисса точки, у - ордината
Dim maxx As Integer, maxy As Integer, minx As Integer, miny As Integer
Dim X&, dx&, dy&, dy2&, dcP&, dc1&, razmas&, interv&
dx = Picgraph.ScaleWidth: dy = Picgraph.ScaleHeight
dcP = Picgraph.hdc
razmas = 127
minx = amin(Garrxl(), razmas)
maxx = amax(Garrxl(), razmas)
miny = amin(Garryl(), razmas)
maxy = amax(Garryl(), razmas)
'Picgraph.Scale (minx, maxy)-(maxx, miny)
Picgraph.Scale (minx, maxy)-(maxx, miny - 1)
Picgraph.CurrentX = minx
Picgraph.CurrentY = miny
MoveToEx dcP, minx, miny, 0
'Построение графика функции
For SngX = minx To razmas 'UBound(Garrxl)
LineTo dcP, Garrxl(SngX), Garryl(SngX)
Next SngX
'Рисуем ось Х
Picgraph.Line (minx, miny)-(maxx, miny)
For BytI = minx To maxx
If BytI Mod 100 = 0 And BytI <> 0 Then
Picgraph.PSet (BytI, miny) 'Рисуем масштаб на оси Х
Picgraph.Print BytI 'Подписываем масштаб
End If
Next BytI
'Ось Y
Picgraph.Line (minx, miny)-(minx, maxy)
For BytI = miny To maxy '-9 To 9
Picgraph.PSet (0, BytI) 'Рисуем масштаб на оси У
Picgraph.Print BytI 'Подписываем; масштаб
Next BytI
End Sub
P.S. Для пробы используется размерность массивов =127.
Garrxl()-значения аргумента функции
Garryl()- значения функции.
Может быть, кто-нибудь решил подобнуб проблему. Я новичок в VB
Ответить
|