Constructor de gráficos con valores no en tabla de datos.Hola,
Estoy tratando de hacer que mi script grafique los valores que no están en una tabla de datos pero que se generan cuando se ejecuta el script. El programa comienza con una importación de datos en dos columnas similares a esto:
| Posición | FocusMetric |
| 0 | 120 |
| -4 | 140 |
| -8 | 165 |
| -4 | 160 |
| -0 | 130 |
Luego coloco una spline arriba / abajo de los datos y determine el desplazamiento entre los dos. El problema viene cuando estoy tratando de graficar los datos. GraphBuilder no encuentra las variables porque no están en el datatable. Aquí está mi código, todo parece funcionar hasta GraphBuilder. Estoy intentando obtener un gráfico de líneas de offset, splineEval y un marcador para la reacción, splineMin. Cualquier otra sugerencia es apreciada, este es un nuevo idioma para mí!
//Setup arrays for creating spline over data
x = Index(-100,0,1);
offset = Index(-20,20,0.1);
//Determine position minimum index
rPosMin = dt << GetRowsWhere(:Position == ColMin(:Position));
//Create spline coeficients over up/down scan of data
splineUp = SplineCoef(:Position[1::rPosMin-1], :FocusMetric[1::rPosMin-1], 1);
splineDown = SplineCoef(:Position[rPosMin+1::NRow()], :FocusMetric[rPosMin+1::NRow()], 1);
//Create array of least squares
for( i=1, i<=length(offset), i++,
s[i] = Sum(Abs(SplineEval(x,splineDown) - SplineEval((x-offset[i]),splineUp))),
);
//Create spline coefficient over regressed data
si = SplineCoef(offset,s,1);
//Find minimum from regressed data and determine backlash
rSplineMin = Loc(SplineEval(offset,si) == Minimum(SplineEval(offset,si)));
backlash = offset[rSplineMin];
print(backlash);
GraphBuilder(
ShowControlPanel(0),
Variables(
X(offset),
X(backlash, Position(1)),
Y(Values(SplineEval(offset,si))),
Y(rSplineMin, Position(1))
),
Elements(Line(X(1), X(2), Y(1), Y(2), Legend(5)))
);
Re: Generador de gráficos con valores no en la tabla de datosEso funciona. ¡Gracias por tu ayuda!
Re: Generador de gráficos con valores no en la tabla de datosCreo que sería más fácil agregar los valores mínimos como una fila en la tabla. Los puntos de spline tendrían un valor de spline y el punto extra un valor de backlash, luego llamarlo como un tipo especial de elemento de GraphBuilder. Esta curva puede parecer extraña porque usa sus datos de ejemplo. Se adjunta el guión.

Re: Generador de gráficos con valores no en la tabla de datosOk puedo hacer eso Una vez que los tenga en una base de datos, ¿es posible seleccionar un punto para hacer como marcador sin tener que crear una nueva columna para cada punto individual? Estoy tratando de poner un marcador en el punto mínimo, pero cuando intento configurar X, Y en GraphBuilder en ese índice, aparece el error "No se encontró la columna especificada en la tabla de datos"
GraphBuilder(
ShowControlPanel(0),
Variables(
X(:xoff),
X(:xoff[rSplineMin], Position(1)),
Y(:spline),
Y(:spline[rSplineMin], Position(1))
),
Elements(Line(X(1), X(2), Y(1) Y(2), Legend(3))),
¿Cómo hago para hacer scripts para seleccionar ese único punto y colocar un marcador allí?
Re: Generador de gráficos con valores no en la tabla de datosLas plataformas JMP Analysis y Grpah requieren columnas de una tabla de referencia.
Crea una tabla a partir del cálculo, desplazamiento, contragolpe, etc. valores de matriz, luego defina GraphBuilder usando esta nueva tabla.