Diagrammersteller mit Werten, die nicht in der Datentabelle enthalten sindHallo,
Ich versuche, mein Skript dazu zu bringen, Werte grafisch darzustellen, die nicht in einer Datentabelle enthalten sind, aber generiert werden, wenn das Skript ausgeführt wird. Das Programm beginnt mit einem Datenimport in zwei Spalten ähnlich dieser:
| Position | FocusMetric |
| 0 | 120 |
| -4 | 140 |
| -8 | 165 |
| -4 | 160 |
| -0 | 130 |
Dann passe ich einen Spline nach oben/unten an den Daten an und bestimme den Versatz zwischen den beiden. Das Problem tritt auf, wenn ich versuche, die Daten grafisch darzustellen. Der GraphBuilder findet die Variablen nicht, da sie nicht in der Datentabelle enthalten sind. Hier ist mein Code, bis GraphBuilder scheint alles zu funktionieren. Ich versuche, ein Liniendiagramm mit Offset, splineEval und einer Markierung für das Spiel, splineMin, zu erhalten. Alle anderen Vorschläge sind willkommen, das ist eine neue Sprache für mich!
//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)))
);
Betreff: Diagrammersteller mit Werten, die nicht in der Datentabelle enthalten sindDas funktioniert. Vielen Dank für Ihre Hilfe!
Betreff: Diagrammersteller mit Werten, die nicht in der Datentabelle enthalten sindIch denke, es wäre einfacher, die Mindestwerte als Zeile in die Tabelle einzufügen. Die Spline-Punkte hätten den Wert „Spline“ und der zusätzliche Punkt den Wert „Backlash“ und würden ihn dann als einen speziellen Typ eines GraphBuilder-Elements bezeichnen.Diese Kurve sieht möglicherweise seltsam aus, da sie Ihre Beispieldaten verwendet.Das Skript ist beigefügt.

Betreff: Diagrammersteller mit Werten, die nicht in der Datentabelle enthalten sindOK, das kann ich machen.Wenn ich sie in einer Datentabelle habe, ist es dann möglich, einen Punkt als Markierung auszuwählen, ohne für jeden einzelnen Punkt eine neue Spalte erstellen zu müssen? Ich versuche, eine Markierung auf den Mindestpunkt zu setzen, aber wenn ich versuche, X,Y in GraphBuilder auf diesen Index zu setzen, erhalte ich die Fehlermeldung „Angegebene Spalte nicht in Datentabelle gefunden“.
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))),
Wie würde ich bei der Skripterstellung vorgehen, um diesen einzelnen Punkt auszuwählen und dort eine Markierung zu platzieren?
Betreff: Diagrammersteller mit Werten, die nicht in der Datentabelle enthalten sindJMP Analysis- und Grpah-Plattformen erfordern Spalten aus einer Referenztabelle.
Erstellen Sie eine Tabelle aus den berechneten, Offset-, Spiel- usw. Matrixwerten und definieren Sie dann GraphBuilder mithilfe dieser neuen Tabelle.