Если вы хотите реализовать график самостоятельно, сначала получите свои x, y точки в двух массивах xarray[]
, yarray[]
. Обычно для реализации изогнутого графика вам нужны точки между данными, которые у вас уже есть. Использование интерполяции для этого www.webcabcomponents.com имеет бесплатную версию программы интерполяции. Вы просто даете xarray
, yarray
, any_x
и получаете интерполированную точку y для любого x. Вы можете построить Двойник непрерывные кривые с помощью кода, как
[pseudo code]
firstX,firstY =0 //assumed x=0; y(0)=0
loop
for x= 0 to panel width;
{ get interpolatedY(x);
drawLine from (firstX,firstY) to (nextX,nextY);
//use Graphics.drawLine command
firstX=nextX; firstY=nextY;
}
Вы, возможно, придется установить масштаб, если это необходимо и умножить firstX
и т.д. по шкале.
Для интерполяции этот бит кода поможет вам начать работу. returnedArray
имеет два элемента. Сначала требуется returnedArray[0]
. Другая - оценка ошибки (сейчас пренебрегаем).
import webcab.lib.math.interpolation.Interpolation;
Interpolation interpol1 = new Interpolation();
double[] returnedArray = interpol1.interpolateExtrapolatePolynomial(getQArray(),getEArray(),x);
y=returnedArray[0];
Описанный выше метод interpolateExtrapolatePolynomial(getQArray(),getEArray(),x)
для кривых polymial типа. Если ваши точки данных соответствуют любому другому классу шаблонов, Interpolation имеет другие методы. Или вы можете реализовать себя с помощью численных методов.
Счастливое кодирование!