自動縮放匹配 X 軸和 Y 軸已解決:回覆:自動繪製關聯列 - JMP 用戶社群
作為上述討論的後續內容,我想自動縮放一些圖,使其關於 X 軸和 Y 軸上的零值對稱。
我想要這個

自動輸出為這樣。

讓我來到這裡的程式碼包含在上面的連結中
再見
扳手頭
自動化和腳本編寫回覆:自動縮放匹配 X 軸和 Y 軸一種選擇是使用一些矩陣來檢查「有效」行,僅從這些行中取得值,然後像以前一樣計算最大值。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, "height") << Set Property("Missing Value Codes", {70, 69, 68});
Column(dt, "weight") << Set Property("Missing Value Codes", {172});
m1 = Column(dt, "height") << get values;
m2 = Column(dt, "weight") << get values;
valid_rows = Loc(V Sum(Is Missing(m1 || m2)`), 0);
val = Max(Abs(dt[valid_rows, "weight"] |/ dt[valid_rows, "height"]));回覆:自動縮放匹配 X 軸和 Y 軸謝謝,你說的是對的,我想我沒有正確表達這個問題。計算 X 的最大值時,X 中的缺失值將被忽略。我應該澄清一下,我正在迭代數據表中的列並自動繪製連接的指標。
該腳本可能會選擇電壓閾值,並將其與相應的電流值(如果選擇)進行繪製。當最後重新縮放時,X 中的缺失值將導致圖形上沒有資料點,但是,合作夥伴 Y 值仍然可以設定圖形的比例。
To ensure the plot contains the 100 value on both axed, I did modify the matrix to include 110 with |/110;
再見
扳手頭
dt = Current Data Table();
dt << Clear Column Selection();
colList = dt << get column names( string );
check_list = {"VTX", "VTN", "VTP", "VTF", "IDS", "IBB", "ILK", "CMI"};
New Window( "Select Variables",
<<TYPE></TYPE>回覆:自動縮放匹配 X 軸和 Y 軸如您所知,您正在使用的列,您可以使用 Col Min + Col Max 來獲取最小值和最大值(它們應該尊重缺失值程式碼)。然後使用您的值、Abs() 函數和 Max() 函數的組合來取得用於 x 和 y 軸的值
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
show(Col Max(Column(dt, "height")));
Column(dt, "height") << Set Property("Missing Value Codes", {70, 69, 68});
show(Col Max(Column(dt, "height")));
但我也認為如果這些點被缺失值程式碼忽略了,雙變數根本不應該繪製這些點
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate(Y(:height), X(:weight));
ms = Report(biv)[FrameBox(1)] << Find Seg(Marker Seg(1));
xs = ms << Get X Values;
ys = ms << Get Y Values;
val1 = Max(Max(Abs(xs)), Max(Abs(ys)));
biv << close window;
Column(dt, "weight") << Set Property("Missing Value Codes", {172});
biv = dt << Bivariate(Y(:height), X(:weight));
ms = Report(biv)[FrameBox(1)] << Find Seg(Marker Seg(1));
xs = ms << Get X Values;
ys = ms << Get Y Values;
val2 = Max(Max(Abs(xs)), Max(Abs(ys)));
show(val1, val2);回覆:自動縮放匹配 X 軸和 Y 軸我有很多數字錯誤代碼,用於保留列的資料類型。我需要對分析中的那些人視而不見。但是,如果 X 或 Y 標記有缺失值代碼,而合作夥伴則沒有,則可以透過實際未繪製在圖表上的資料來設定比例

感謝您的大力幫助。
再見
扳手頭
回覆:自動縮放匹配 X 軸和 Y 軸在這種情況下,「標記為缺失」是什麼意思?
如果您希望保留其他值,我認為即使矩陣缺少值,它仍然應該有效。

回覆:自動縮放匹配 X 軸和 Y 軸我意識到一件小事。在某些情況下,ys 或 xs 矩陣之一具有缺失值,因為它已被賦予缺失值代碼。合作夥伴矩陣值可能不會遺失,並且可以包含在內以設定比例。如果該行被標記為 xs 缺失,是否有辦法消除 ys 中的值,並在 ys 為缺失值時進行相同的 xs 消除。
再見
扳手頭
回覆:自動縮放匹配 X 軸和 Y 軸史詩!奇蹟般有效。
回覆:自動縮放匹配 X 軸和 Y 軸計算最大值(絕對值),取負值並設定值可能是一種選擇。您也可以使用 Col Max() / Col Min() 或 Summarize 計算資料表中的數值
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate(Y(:height), X(:weight));
ms = Report(biv)[FrameBox(1)] << Find Seg(Marker Seg(1));
xs = ms << Get X Values;
ys = ms << Get Y Values;
val = Max(Max(Abs(xs)), Max(Abs(ys)));
xaxis = Report(biv)[AxisBox(1)];
yaxis = Report(biv)[AxisBox(2)];
xaxis << Min(-1*val) << Max(val);
yaxis << Min(-1*val) << Max(val);