Zeichnen Sie eine Linie oder ein Polygon in Bezug auf die zweite Y-AchseHallo zusammen,
Mein Diagramm hat zwei Y-Achsen. Was ich in einem Skript tun möchte, ist das Zeichnen von Linien und Polygonen.
Ich kann in Bezug auf die erste Y-Achse z. B. zeichnen
Polygon( [0,1,2], [1, 1, 3] );
Wie sage ich JMP, dass ich [1, 1, 3] in Bezug auf die zweite y-Achse meine? Kann ich irgendwie zwischen den Achsen wechseln, genau wie bei der Farbe oder dem Linienstil?
Danke!
Betreff: Zeichnen Sie eine Linie oder ein Polygon in Bezug auf die zweite Y-AchseHier ist ein einfaches Beispiel
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
gb = Graph Builder(
Variables( X( :PNP2 ), Y( :NPN1 ), Y( :PNP1, Position( 1 ), Side( "Right" ) ) ),
Elements( Points( X, Y( 1 ), Legend( 5 ) ), Points( X, Y( 2 ), Legend( 7 ) ) ),
SendToReport(
Dispatch(
{},
"PNP1",
ScaleBox,
{Format( "Best", 10 ), Min( 100 ), Max( 540.816326530612 ), Inc( 50 ), Minor Ticks( 1 )}
)
)
);
NPN1y1 = 110;
NPN1y2 = 122;
PNP1y1 = 300; // Right side reference
x1 = 150;
x2 = 250;
x3 = 600;
Report( gb )[framebox( 1 )] << Add Graphics script(
leftMin = Report( gb )[AxisBox( 2 )] << get min;
leftMax = Report( gb )[AxisBox( 2 )] << get max;
rightMin = Report( gb )[AxisBox( 3 )] << get min;
rightMax = Report( gb )[AxisBox( 3 )] << get max;
xMat = Matrix( x1 ) || Matrix( x2 ) || Matrix( x3 );
// Calculate a left axis reference based upon right axix value
newMatY = leftMin + (leftMax - leftMin) * (PNP1y1 - rightMin) / (rightMax - rightMin);
yMat = Matrix( NPN1y1 ) || Matrix( NPN1y2 ) || Matrix( NewMatY );
Transparency( 0.5 );
Fill Color( {1.0, 0.5, 0.0} );
Polygon( xmat, yMat );
);Betreff: Zeichnen Sie eine Linie oder ein Polygon in Bezug auf die zweite Y-AchseOh, also meinst du so etwas wie
Y-Wert zweite Achse -> Pixelposition im Plotfenster/auf dem Bildschirm abrufen -> Y-Wert auf der ersten Achse mit derselben Pixelposition berechnen?
Hast du ein Beispiel für mich?Betreff: Zeichnen Sie eine Linie oder ein Polygon in Bezug auf die zweite Y-AchseIch wollte es nicht manuell machen.Ich habe angedeutet, dass man programmgesteuerten Zugriff auf beide Achsen hat, was es einem ermöglichen würde, die Position der Y-Achse zu berechnen.
Betreff: Zeichnen Sie eine Linie oder ein Polygon in Bezug auf die zweite Y-AchseNatürlich können Sie dies jederzeit manuell tun, indem Sie die Koordinaten transformieren. Aber die Sache wird komplizierter, wenn Sie mindestens eine nichtlineare y-Achse haben. Ich hatte gehofft, dass es eine schnellere Option gibt.
Vielen Dank trotzdem für die Bestätigung, dass es keine gibt. 
Betreff: Zeichnen Sie eine Linie oder ein Polygon in Bezug auf die zweite Y-AchseIch sehe keinen Achsenschalter, Sie können jedoch jederzeit die Mindest- und Höchstwerte für die verschiedenen Achsenfelder ermitteln und dann zwischen den beiden Skalen interprolatieren