使用 JSL 更改 TableBox 中的字體顏色是否可以更改表格框中單個單元格的字體顏色?
我發現一篇較舊的文章說,如果沒有條件格式,這是不可能的: https://community.jmp.com/t5/Discussions/Is-there-a-way-to-send-a-font-color-to-a-single-value-in-a/td-p/8643
並且條件格式不適用於該項目。 我希望自舊帖子發布以來已經添加了此功能。
本質上,我所擁有的是一張圖表,其下方有相應的表格。 我希望每行的字體顏色與圖表上的線條顏色相對應。
我嘗試使用“SetSelectedRowColor”設置表格框的行背景顏色,但它很難看且難以辨認。 如果可能的話,改變字體顏色會更好。
回复:使用 JSL 更改 TableBox 中的字體顏色據我所知,對於表格框,唯一支持的突出顯示方法是突出顯示整行。
回复:使用 JSL 更改 TableBox 中的字體顏色您好,有沒有辦法給選定的單元格著色? 我選擇了數百個單元格,我想提供一種顏色來脫穎而出。
謝謝
山姆
回复:使用 JSL 更改 TableBox 中的字體顏色您可以設置表格框中文本的顏色。 你必須使用 col 框。 這是一個例子:
// Col Box Examples
nw = New Window( "Mountains",
tb = Table Box(
sb = String Col Box( "Mountain",
{"K2", "Delphi", "Kilimanjaro", "Grand Teton"}),
// Text boxes of different colors
cc = col box("Name",
tb1 = textbox("Hello"),
tb2 = textbox("World"),
tb3 = textbox("Fubar"),
tb4 = textbox("Geronimo")
),
),
);
tb1 << font color("Red") << set font style("Bold");
tb2 << font color("Blue");
tb3 << font color("Green");
tb4 << font color("Orange") << set font style("Bold");
回复:使用 JSL 更改 TableBox 中的字體顏色哈哈,“錯誤”有點苛刻——這個理由很有道理,謝謝你的信息:)
回复:使用 JSL 更改 TableBox 中的字體顏色混亂是我的錯。 在圖形生成器之外,JMP 在需要兩種顏色時將跳過綠色,以避免常見的紅/綠顏色不足。 然而,Graph Builder 更具動態性,需要能夠在不更改前兩種顏色的情況下從兩種顏色變為三種顏色,因此它從一開始就重新排列它們(每組3 個顏色圍繞色輪旋轉)。這種情況僅發生在標有“JMP”的顏色主題中,因此您可以通過使用不同的顏色主題來避免雙重排序。
回复:使用 JSL 更改 TableBox 中的字體顏色非常感謝您花時間記錄這一點,亞當。 我會將其提請研發部門注意。
回复:使用 JSL 更改 TableBox 中的字體顏色再次感謝,伊恩,這對我幫助很大。 我已經制定了一個很好的作戰計劃來讓這項工作現在發揮作用。
雖然它不再相關,但要詳細說明#2——當值顏色應用於列時,列中出現的顏色的順序與在圖形生成器中使用主題時不同。
在此圖像中,“主題顏色”列是我填充 1 到 20 的列,然後點擊“值顏色”->“按值設置顏色”->“JMP Light”。
“GB 顏色”列是我手動創建的列,用於顯示將 JMP Light 應用於圖形時出現在圖形生成器中的順序顏色順序。

第 12 個條目之後,顏色同步,但在此之前它們與 JMP Light 主題內的順序不對應。
不再重要了,但我仍然發現這是相當奇怪的行為。 您知道為什麼 Graph Builder 會打亂顏色主題中的前 12 種顏色嗎?
再次感謝您的所有時間和幫助,
-亞當
回复:使用 JSL 更改 TableBox 中的字體顏色對於第 1 部分,您可以執行以下操作:
New Table( "Untitled 114",
Add Rows( 10 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
)
);
Wait(2);
:Column 1 << set Property( "Value Colors", Color Theme( "White to Blue" ) );
:Column 1 << colorCellByValue;
Wait(2);
:Column 1 << set Property( "Value Colors", Color Theme( "Light" ) );
對於第 2 部分,您是否能夠共享一個只有幾行的表和一個保存的您想要的圖形生成器腳本?
回复:使用 JSL 更改 TableBox 中的字體顏色嗨伊恩,
謝謝您的幫助。 為了節省時間,我正在考慮簡單地在數據表(“ID”)的開頭添加一個新列,然後將其轉換為表格框,用 i++ 填充它,並使用值顏色和默認顏色主題(JMP Light)來指定背景顏色。
這樣我們就可以輕鬆生成顏色,並且實際文本仍然清晰可辨。 這並不理想,但應該能夠表達要點。
不過,我遇到了兩個問題:
- 通過 JSL 為列分配值顏色
- 我嘗試通過表腳本竊取它:
New Table( "Untitled 114",
Add Rows( 10 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property(
"Value Colors",
{1 = 35, 2 = 36, 3 = 37, 4 = 38, 5 = 39, 6 = 40, 7 = 41, 8 = 42, 9 = 43,
10 = 44}
),
Color Cell by Value,
Set Selected,
Set Values( [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] )
)
)我真正想做的是使用 SetProperty("Value Colors", "JMP Light") 而不是表腳本中的列表。 有沒有辦法做到這一點? - 當圖形生成器接收時< ,調色板本身發生變化,但顏色的順序不同IE, JMP 默認(和 jmp 燈)變為紅色->綠色->藍色->橙色->等,而圖形生成器變為藍色->紅色->綠色->紫色->等
- 本質上,我需要圖形生成器用於我的子表的顏色列表。
- 另一種方法是在數據表中分配顏色,然後讓圖形生成器使用這些顏色而不是調色板,但數據會根據用戶交互進行子集化並拆分為多個圖形/表- 因此,雖然可以這樣做,但它只需以正確的順序獲取圖形生成器使用的默認顏色列表就會容易得多。
再次感謝!
回复:使用 JSL 更改 TableBox 中的字體顏色看起來“<< textColor()”仍然對“StringColBox()”的內容全局起作用。
我想你可以用“TextBox()”構建你自己的密鑰:
NewWindow("Legend",
LineUpBox(NCol(2),
TextBox("Some Text: "), tb1 = TextBox("Males", << fontColor("Red")),
TextBox("Some Text: "), tb2 = TextBox("Females", << fontColor("Blue"))
)
);