相对于第二个 Y 轴绘制直线或多边形大家好你们好,
我的情节有两个 y 轴。 我想在脚本中做的是画线和多边形。
我可以相对于第一个 y 轴绘制,例如
多边形( [0,1,2], [1, 1, 3] );
我如何告诉 JMP 我的意思是 [1, 1, 3] 关于第二个 y 轴? 我能以某种方式在轴之间切换,就像颜色或线条样式一样吗?
谢谢!
回复:相对于第二个 Y 轴绘制线或多边形这是一个简单的例子
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 );
);回复:相对于第二个 Y 轴绘制线或多边形哦,所以你的意思是
Y 值第二轴 --> 获取绘图窗口/屏幕上的像素位置 --> 计算具有相同像素位置的第一轴上的 Y 值?
你有我的例子吗?回复:相对于第二个 Y 轴绘制线或多边形我并不是在暗示要手动进行。我的意思是,一个人确实可以通过编程访问两个轴,这将允许一个人计算 Y 轴位置。
回复:相对于第二个 Y 轴绘制线或多边形当然,您始终可以通过转换坐标手动完成。 但是当您至少有一个非线性 y 轴时,事情会变得更加复杂。 我希望有一个更快的选择。
无论如何,感谢您确认没有。 
回复:相对于第二个 Y 轴绘制线或多边形我没有看到轴开关,但是,您始终可以获得不同轴框的最小值和最大值,然后在 2 个刻度之间进行插值