你好,
我正在编写我的第一个jmp脚本,需要一些帮助。
到目前为止,我开始创建气泡图,以更好地可视化我测量的每个部分的X和Y坐标中的数据重复性分布。
Bubble Plot(
X( :X ),
Y( :Y ),
Coloring( :Name( "3Sigma_BH" ) ),
Show Roles( 1 ),
Color Levels( [0.54 8.902325 17.26465 25.626975 33.9893] ),
Title Position( 0, 0 ),
Local Data Filter(
Add Filter(
columns( :Name( "3Sigma_BH" ) ),
Where( :Name( "3Sigma_BH" ) >= 0.54 & :Name( "3Sigma_BH" ) <= 33.9893 )
)
),
By( :PartID ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "Best", 10 ), Min( -9000 ), Max( 9000 ), Inc( 2000 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"2",
ScaleBox,
{Format( "Best", 10 ), Min( -9000 ), Max( 9000 ), Inc( 2000 ),
Minor Ticks( 1 )}
)
)
);我的问题在于色标,我希望它能动态地从每个部分的最小值到最大值。
我尝试捕获的变量是3Sigma_BH(我用于着色),我用于子集化的列是PartID。由于这个固定的色阶我松散的背景,下面的CFR图片
我想到了:
- 在绘图之前通过partID子集我的dt并创建一个简单的函数,在每次迭代时循环遍历所有partID,添加一个新的气泡图
- 创建一个函数来提取当前的最小值
dtData = currentdatatable()<BR /> <EM> for each :PartID in dtData</EM> (
rows = dtData << get min( :3Sigma_BH)
minBH = Min( :height[rows] );
maxBH = Max( :height[rows] );<BR /> ...
关于如何做到这一点的任何建议和/或比上述两个更好的选择?
谢谢!
迭戈
您好Diego - 从红三角菜单中,尝试关闭“Lock Scales”。 此选项适用于轴刻度和色阶,如果您始终需要此行为,也可以将其设置为首选项。 关闭设置后,重新保存脚本时,脚本的Color Levels()和SendToReport()部分应该消失。 以下是示例数据的示例:
Open("$SAMPLE_DATA/San Francisco Crime.jmp");
Bubble Plot(
X( :Longitude ),
Y( :Latitude ),
Coloring( :Time ),
<FONT color="#FF0000">Lock Scales( 0 ),</FONT>
Title Position( 0, 0 ),
Local Data Filter(
Add Filter(
columns( :Category ),
Where( :Category == "ARSON" ),
Display( :Category, Size( 139, 221 ), List Display )
)
)
);