你好,
我正在編寫我的第一個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 )
)
)
);