График X-Y в PictureBox - VB
Формулировка задачи:
Попытаюсь объяснить понятнее, что у меня происходит.
Имеется два массива X(kol,kol) и Y(kol). X - это дата и время, Y-числа формата Double. Рисую в PictureBox двумерный график X от Y:
Даты и время перевожу в числовое значение. Разница между точками 1 минута. На графике же у меня получается, что на одном времени по несколько точек сидит. Не знаю понятно объяснил или нет? Т.е. Сначала 6 точек с одинаковым значением X располагаются друг над другом (т.е. по оси Y значения разные , все норм), потом еще несколько точек друг над другом и т.д. Количество точек с одинаковым X по разному от 4-х до 6-и. Шаг между одними точками с одинаковым X и другими примерно 0.004 в числовом формате.
Я проверял CDbl(X(i,1)) + CDbl(X(i,2)), у каждой точки разное число (отличие в 3-ем знако после запятой), а на графике по несколько точек располагаются друг над другом с одинаковым X.
Как с этим бороться? Не понимаю где может быть ошибка.
Листинг программы
- Xmin = CDbl(X(1,1)) + CDbl(X(1,2))
- Xmax = CDbl(X(kol,1)) + CDbl(X(kol,2))
- Ymin = Pmax * 1.2
- Ymax = Pmin / 1.2
- Picture4.Scale (Xmin, Ymin)-(Xmax, Y2max)
- For i = 1 To kol
- Picture4.Circle (CDbl(X(i,1)) + CDbl(X(i,2)), Y(i)), Picture4.ScaleWidth / 200
- Next i
Решение задачи: «График X-Y в PictureBox»
textual
Листинг программы
- 'Xmin = CDbl(X(1,1)) + CDbl(X(1,2))
- 'Xmax = CDbl(X(kol,1)) + CDbl(X(kol,2))
- Xmin = CDbl(X(1,2))
- Xmax = CDbl(X(kol,1))-CDbl(X(1,1)) + CDbl(X(kol,2))
- Ymin = Pmax * 1.2
- Ymax = Pmin / 1.2
- dX=(xmax-xmin)/16
- Picture4.Scale (Xmin-dx, Ymin)-(Xmax+dx, Ymax)
- For i = 1 To kol
- 'Picture4.Circle (CDbl(X(i,1)) + CDbl(X(i,2)), Y(i)), Picture4.ScaleWidth / 200
- Picture4.Circle (CDbl(X(i,1)) + CDbl(X(i,2))-CDbl(X(1,1)), Y(i)), Picture4.ScaleWidth / 200
- Next i
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д