大家好,
在我目前的腳本中,我將各個網站定義為圖例上的某種顏色,但是如果「網站」的標籤不同,則這樣做將不會繼續下去。我在想也許“顏色單元”能夠將所有單元更改為一種顏色,但我遇到了問題。
如何為所有單元格編寫單一顏色?
尺寸(879、653)、
顯示控制面板( 0 ),
變數( X( :SiteX ), Y( :SiteY ), 顏色( :Site ) ),
Elements( Heatmap( X, Y, Legend( 44 ), Label( "以數值標記" ), 顏色主題("Solid","gray") ) ),
本地資料過濾器(關閉大綱(1)),
發送至報告(
Dispatch( {}, "SiteX", ScaleBox, {Label Row( 顯示主要網格( 1 ) )} ),
Dispatch( {}, "SiteY", ScaleBox, {Label Row( 顯示主要網格( 1 ) )} ),
調度({},“400”,ScaleBox,
{圖例模型(
44、
屬性( 0, {填滿顏色( 32 )}, 項目ID( "01", 1 ) ),
屬性( 1, {填滿顏色( 32 )}, 項目ID( "02", 1 ) ),
屬性( 2, {填滿顏色( 32 )}, 項目ID( "03", 1 ) ),
屬性( 3, {填滿顏色( 32 )}, 項目ID( "04", 1 ) ),
屬性( 4, {填滿顏色( 32 )}, 項目ID( "05", 1 ) ),
屬性( 5, {填滿顏色( 32 )}, 項目ID( "06", 1 ) ),
屬性( 6, {填滿顏色( 32 )}, 項目ID( "07", 1 ) )
……>
也許您可以在“站點”列上使用“值顏色”列屬性?

或者您希望所有網站都使用相同的顏色嗎?如果是這種情況,您可以建立僅包含單一值的新列,並將其用作顏色而不是網站列
如果您想使用 Color 來取得有意義的標籤 - 但保持顏色不變,您可以使用圖例伺服器批次為所有條目指派顏色:
A) 透過圖形使用者介面
選擇所有條目並指定顏色:

通過 JSL(版本 1,使用 JMP17.2 測試):
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
gb=Graph Builder(
Variables( X( :height ), Y( :weight ), Color( :sex ) ),
Elements( Heatmap( X, Y )),
);
// talk to the legend server and batch assign a color
legend = gb << get legend server();
legenditems= (legend << get legend items)[1];
legenditems << set properties ({Fill Color( 1 )}) //bug in JMP 18
由於 JMP18 中的錯誤,這種方法不起作用...
B - 版本 2)作為解決方法,您可以單獨與每個條目進行對話並指派顏色:
取得圖例項目的問題
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
gb=Graph Builder(
Variables( X( :height ), Y( :weight ), Color( :sex ) ),
Elements( Heatmap( X, Y ,Label( "Label by Value" ))),
);
// talk to the legend server and batch assign a color
legend = gb << get legend server();
legenditems= (legend << get legend items)[1];
for(i=1, i<= Nitems(legenditems), i++,
Eval(Eval Expr(item = legend << Get Legend Item(1, Expr(i))));
item << set properties ({Fill Color( 1 )})
);
如果您想為不同的條目指派不同的顏色,您可以使用值顏色(如@jthi建議)並套用顏色主題:

或選擇圖例中的所有項目並透過右鍵點選選單指定主題:
