JMP 社群您好,
目前,我正在編寫一個腳本,以預先填充圖形生成器的形式在其他內容中建立繪圖模板。下面的腳本。開放圖形產生器應該由通常想要查看除了圖中現有 4 個訊號之外的其他訊號的使用者使用。因此,他通常會開始拖曳另一列並將其放在現有 4 個訊號的頂部或底部。
問題是手動放到 y 軸上的新訊號被分配了標準顏色。我希望圖中的所有訊號都具有由 :State 定義的相同顏色,無論有多少訊號放置在 y 軸上並從 y 軸上拖出,而無需透過圖例屬性手動指派正確的顏色。
如何實現這項目標?
謝謝
搶
Graph Builder(
Variables(
X( :Time ),
Y( :Signal 1 ),
Y( :Signal 2 ),
Y( :Signal 3 ),
Y( :Signal 4 ),
Color( :State )
),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 4 ) ) ),
Elements( Position( 1, 2 ), Line( X, Y, Legend( 5 ) ) ),
Elements( Position( 1, 3 ), Line( X, Y, Legend( 6 ) ) ),
Elements( Position( 1, 4 ), Line( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch( {}, "Signal 3", ScaleBox, {Format( "Best", 12 )} ),
Dispatch( {}, "Signal 4", ScaleBox, {Format( "Best", 12 )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
4,
Properties( 0, {Line Color( 21 )}, Item ID( "Here", 1 ) ),
Properties( 1, {Line Color( 20 )}, Item ID( "are", 1 ) ),
Properties( 2, {Line Color( 41 )}, Item ID( "different", 1 ) ),
Properties( 3, {Line Color( 37 )}, Item ID( "labels", 1 ) ),
Properties( 4, {Line Color( 0 )}, Item ID( "for", 1 ) ),
Properties( 5, {Line Color( 32 )}, Item ID( "certain", 1 ) ),
Properties( 6, {Line Color( 1 )}, Item ID( "system", 1 ) ),
Properties( 7, {Line Color( 32 )}, Item ID( "states", 1 ) )
)}
)
)
)
一種選擇是將 Value Colors 列屬性設置為 :State 並使用所需的顏色。
嗨,
是的,謝謝,如果 :State 應該在所有圖中始終具有相同的顏色,這是一個很好的解決方案。 事實上,我有幾個情節,其中兩個涉及:具有不同顏色的狀態。 所以我想,與其通過列屬性實現著色,不如在各自的圖中進行。
我可以做的是根據需要經常複製 :State 並始終分配不同的值顏色屬性。 但我不喜歡這種解決方案,因為它感覺像是一種解決方法。 
我認為您可能需要編寫一些腳本並在更改情節時設置這些顏色。 不確定它是否可以在更改時自動觸發,但您可以例如添加一個按鈕。
還可以選擇使用顏色或按列標記...但是如果您想在不同的圖中對相同的狀態使用不同的顏色,您會遇到同樣的問題。
