使圖形產生器的“大小”縮放到軸假設我有一個在製成品表面發現的缺陷資料集,如下所示:
| 序號 | X(公分) | 高度(公分) | 直徑(公分) |
| 0001 | 2.3 | 1.15 | 0.04 |
| 0001 | 2.7 | 0.44 | 0.12 |
| 0001 | 1.5 | 2.6 | 0.35 |
| 0002 | 5.4 | 1.9 | 0.17 |
| 0002 | 3.1 | 4.1 | 0.59 |
在圖形產生器中,鑑於我本地資料過濾 SN,並繪製 X(cm)->X、Y(cm)->Y 和直徑(cm)->尺寸,有沒有辦法製作結果點尺寸是否按比例繪製在繪圖上?
數據探索和視覺化回覆:使圖形產生器的「大小」縮放到軸簡單的解決方案,但無法完美擴展

只需點擊一下即可解決問題:
在圖形產生器中,我將 X 和 Y 放在 X 和 Y 軸框上,然後將藥物 SN 指定為顏色角色,將直徑指定為尺寸角色。
腳本如下圖所示:
Graph Builder(
Size( 409, 391 ),
Variables(
X( :"X(cm)"n ),
Y( :"Y(cm)"n ),
Color( :SN ),
Size( :"Diameter(cm)"n )
),
Elements( Points( X, Y, Legend( 9 ) ) )
);
回覆:使圖形產生器的「大小」縮放到軸看起來你很好地複製了問題中的過程。我希望有人知道 Shift-Click 選項或其他有助於縮放的選項。
回覆:使圖形產生器的「大小」縮放到軸我認為您可能必須使用圖形腳本來完成此操作。以下是非常快速且hacky的解決方案,它可以讓你知道你可以做什麼
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("SN", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 1, 2, 2])),
New Column("X(cm)", Numeric, "Continuous", Set Values([2.2999999999999998, 2.7000000000000002, 1.5, 5.4000000000000004, 3.1000000000000001])),
New Column("Y(cm)", Numeric, "Continuous", Set Values([1.1499999999999999, 0.44, 2.6000000000000001, 1.8999999999999999, 4.0999999999999996])),
New Column("Diameter(cm)",
Numeric,
"Continuous",
Set Values([0.040000000000000001, 0.12, 0.34999999999999998, 0.17000000000000001, 0.58999999999999997])
)
);
gb = dt << Graph Builder(
Size(518, 454),
Show Control Panel(0),
Lock Scales(1),
Variables(X(:"X(cm)"n), Y(:"Y(cm)"n), Size(:"Diameter(cm)"n)),
Elements(Points(X, Y, Legend(5))),
Local Data Filter(Add Filter(columns(:SN), Modeling Type(:SN, Nominal)))
);
frame = Report(gb)[FrameBox(1)];
Eval(EvalExpr(
frame << Add Graphics Script(
cur_gb = Expr(Report(gb));
fb = cur_gb[FrameBox(1)];
ms = fb << Find Seg(Marker Seg(1));
xs = ms << Get X Values;
ys = ms << Get Y Values;
For(i = 1, i <= N Items(xs), i++,
dt = cur_gb << Get Data Table;
m_rows = dt << Get Rows Where(:"X(cm)"n == xs[i] & :"Y(cm)"n);
diam = dt[m_rows, "Diameter(cm)"][1];
Circle({xs[i], ys[i]}, diam/2);
);
);
));

請同時閱讀圓的半徑的行為https://www.jmp.com/support/help/en/18.0/#page/jmp/graphics-functions.shtml?os=win&source=application#ww2626013
回覆:使圖形產生器的「大小」縮放到軸謝謝, @jthi - 顯然你對 jsl 的掌握令人印象深刻!
這感覺像是 JMP 應該具備的功能,似乎很容易合併到標記大小設定中(至少從 UI 角度來看)。我會將其添加到願望清單中。
回覆:使圖形產生器的「大小」縮放到軸此處發佈的願望清單項目:
圖形產生器:使用「大小」拖放區啟用軸感知的點大小調整 - JMP 使用者社區
@jthi - 可以將上面的範例圖像複製/貼上到願望清單項目中嗎?
回覆:使圖形產生器的「大小」縮放到軸當然。您可以對其進行一些修改以在 Circle 中使用“FILL”參數,這樣它看起來就像這樣(當您執行此操作時隱藏圖例可能是一個好主意,因為圓圈包含大小資訊而不是底層標記)

回覆:使圖形產生器的「大小」縮放到軸我不太明白整個討論,但我認為一些註釋可能是相關的。
- 右鍵 > 圖形 > 大小/比例 > 大小為等軸測中有一個「大小為等軸測」指令。它調整圖形的大小,以便每個像素的 X 和 Y 具有相同的值。但它並沒有持續下去。
- 尺寸變數表示為圓面積,而不是直徑。
- 幾個版本前,我們為標記和圖形產生器添加了「標記繪製博覽會」功能(在「點」紅色三角形選單下稱為「形狀表達式」)。

Graph Builder(
Size( 496, 501 ),
Show Control Panel( 0 ),
Lock Scales(1),
Variables( X( :"X(cm)"n ), Y( :"Y(cm)"n ) ),
Elements(
Points( X, Y, Legend( 5 ),
Set Shape Expression(
Expr(
Function( {this seg, this row, x, y, pixel size, row state},
{r = :"Diameter(cm)"n / 2},
Oval( x - r, y + r, x + r, y - r, 1 )
)
)
)
)
),
Local Data Filter( Add Filter( columns( :SN ), Modeling Type( :SN, Nominal ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", FrameBox, {Size To Isometric} )
)
);