你好,
我正在透過腳本分析一些數據。具體來說,我有三個變量,即A、B和C,它們代表圖片的三個屬性。為了根據這三個屬性繪製圖片,我習慣使用「行狀態」屬性為不同的行著色:
對於每一行( dt,
顏色 () = RGB 顏色(:A, :B, :C) );
這樣,每個點/行都有與三個變數的值 1:1 相符的 RGB 顏色。
我正在嘗試使用圖形產生器繪製圖片,並將此特定的 RGB 顏色代碼放入其顏色選項中,因為我在後續程式碼中清除了行狀態。特別是,col 和 row 是我的圖片的座標,RGB 是我使用以下公式建立的新欄位: Color Of() = RGB Color(:A, :B, :C);
地圖 = dt << 圖形產生器(
顯示控制面板( 0 ),
變數(X(:列),Y(:行),顏色(:RGB)),
元素( 點( X, Y, 圖例( 4 ) ) )
);
問題在於 GB 將 RGB 欄位視為一列值,而不是一列解碼後的顏色。
有什麼想法可以將我習慣的 RGB 顏色代碼轉換為 GB 的顏色主題嗎?
謝謝!
您可能不需要新的顏色主題。 Graph Builder 支持彩色行狀態,因此您只需更改此行狀態。 下面是一個針對 RstPulse 繪製 RunPulse 的示例。 顏色行狀態首先根據其他三個標準化 (0,1) 變量設置。
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
For Each Row(
Row State() = Color State( {
:Oxy / Col Max( :Oxy ),
:Runtime / Col Max( :Runtime ),
:Weight / Col Max( :Weight )
} );
);
dt << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :MaxPulse ), Y( :RunPulse ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);那是一個樹樁。 我嘗試構建一個新的顏色主題,但效果不佳。
我製作了一張包含 1000 個隨機 RGB 值的表格。 (腳本在底部)
RGB 值被轉換為 JMP 顏色。
然後我刪除了公式,並按 JMP 顏色對列進行排序。
並添加了一個公式來生成一些文本以用於新的顏色主題。
我使用現有的顏色主題之一作為模板。 從腳本窗口運行:Get Preferences();並選擇其中一種顏色主題,例如這個。
Add Color Theme(
{"Reverse Jet", 2051, {{127, 0, 0}, {255, 0, 0}, {255, 127, 0}, {255, 255, 0}, {127, 255,
127}, {0, 255, 255}, {0, 127, 255}, {0, 0, 255}, {0, 0, 127}, Missing( "Black" )}, 1, 1}
),
我給新主題起了一個新名稱,並用表格中的文本替換了三個項目列表的集合。
不知道開頭的2051是乾什麼的,也不知道最後的“1、1”是乾什麼的。 所以我只保留了那些。
返回運行“獲取首選項”的腳本窗口,刪除腳本,複製整個日誌並將其粘貼回窗口。
刪除開頭的註釋並將第一個參數從“Preferences”更改為Set Preferences。
最後添加您的新顏色主題。 確保它遵循首選項、逗號和最後一個括號內的格式……之類的東西。
不過,在編輯之前保存您的首選項腳本可能是個好主意,這樣您以後就可以取回它。
運行設置首選項腳本後,新顏色主題應作為一個選項顯示在圖形構建器中,無需重新啟動 JMP。
請注意,這個新的顏色主題很大,看起來很有趣但不太正確,它使圖形構建器非常慢。
New Table( "maker",
Add Rows( 1000 ),
New Script(
"Scatterplot 3D",
Scatterplot 3D(
Y( :R, :G, :B ),
Frame3D(
Set Grab Handles( 0 ),
Set Rotation( 127.28221594942, -1.35536871654718, 146.077602393409 ),
Set Marker Scale( 3.8125 )
)
)
),
New Column( "R",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "G",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "B",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "Column 4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Color Of() = RGB Color( :R, :G, :B ) ),
Set Selected
)
)