我目前正在為工廠生產車間製作儀表板。一方面,我想以 3D 散佈圖顯示機身或飛機上鑽的孔。另一方面,我想顯示每個鑽探作業的開始時間,這基本上是一個散點圖,垂直軸上有一些類別,水平軸上有連續時間。資料中有多個機身,因此第一步是選擇一個。選擇後,不可見的資料過濾器會隱藏並排除其他點。這主要工作正常,但我遇到了一個我不知道解決的問題。
有多台機器進行鑽孔。我想根據載入到機器上的作業程序對所有點(在 3D 散佈圖中和時間軸中)進行顏色編碼。當我透過選擇 :Job ID 作為顏色變數* 來執行此操作時,我注意到兩個圖表對每個 :Job ID 使用不同的顏色。例如,當我在時間軸中選擇紅點時,就會在 3D 散佈圖中選擇藍點。
How to make colors match between graphs?如何使圖表之間的顏色相符?
我想知道是否有一種方法可以同步/匹配兩個圖表上的顏色?歡迎任何想法。我完全被困住了。
另外,對於模糊感到抱歉,我不確定是否可以顯示實際數字,只是為了安全起見。
謝謝!
*:來自圖形產生器視窗的時間軸圖具有:
timeline = Graph Builder(
Size( 1300, 600 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Start Time Stamp ),
X( :Load Time Stamp, Position( 1 ) ),
Y( :Side ),
Y( :Longitudinal Location, Position( 1 ) ),
Y( :Machine, Position( 1 ) ),
Color( :Job ID )
),
Elements( Points( X( 1 ), X( 2 ), Y( 1 ), Y( 2 ), Y( 3 ) ) ),
),
3D 散佈圖有:
scatter = Scatterplot 3D(
Y( :x, :y, :z ),
Coloring( :Job ID ),
Show Controls( 0 ),
Frame3D(
Set Graph Size( 500, 500 ),
Set Grab Handles( 0 ),
Set Rotation( -54, 0, 38 )
),
),我從上面的腳本中取出了一些用於刪除圖例、設定軸限制等的額外程式碼。他們分散注意力。
txnelson 的想法非常簡單和優雅。 我將值顏色添加到“作業 ID”列,然後在“行”菜單下使用“顏色或按列標記”。 顏色立即出現在 3D 散點圖上。時間線圖需要更多的努力來匹配顏色。 我在水平軸中使用了兩個變量,圖形生成器自動將顏色分配給點來自的列,並覆蓋表中的行著色。 但是,一旦我在圖形生成器中包含了 Color(:Job ID),所有顏色都完美匹配!
根據我從 vince_faller 的回復中了解到的信息,我現在可以輕鬆地將其轉換為腳本。 他們都非常有幫助。
謝謝你們倆!
您可以使用
Names Default to Here(1);
dt = Open("$SAMPLE_DATA\Big Class.jmp");
//this will give you a legend
// the expression just makes it so it's live in both windows
legend = Expr(dt << Color By Column(:age));
//you have to make a custom report to show the proper legend
new window("Example",
Hlistbox(
bivariate(Y(:height), X(:weight),
Where(:age <= 14)
),
legend
),
Hlistbox(
bivariate(Y(:height), X(:weight),
Where(:age >= 13)
),
legend
)
);
至少這應該給你一個想法。
如果為 :Job ID 設置 Value Colors 列屬性,ScatterPlot 3D 和 Graph Builder 都將使用這些顏色。