表格中的資料條你好,
是否可以像在 Excel 中那樣在 JMP 資料表中新增資料條?我能想到的最接近的方法是使用列中的顏色漸變屬性,但我更喜歡資料條。

數據探索與視覺化回覆:表格中的資料條最簡單的方法是使用 Tabulate

或 Table Box() 與 Col Plot Box()

回覆:表格中的資料條距離「在 JMP 資料表中」相當遠;)
回覆:表格中的資料條您也可以嘗試使用不同的顯示框,然後使用 << 取得圖片。例如,對於 Big Class JMP 表,使用下列公式(表達式資料類型)
Eval(
Eval Expr(
Graph Box(
Frame Size(Col Max(:weight) * 10, 300),
Y Scale(0, 100),
X Scale(0, Expr(Col Max(:weight))),
Fill Color("Red");
Rect(0, 100, Expr(:weight), 0, 1);
Text Color("Black");
Text Size(200);
Text(Center Justified, {Expr(:weight / 2), 20}, Expr(Char(:weight)));
)
)
) << get picture
你最終會得到類似的東西

回覆:表格中的資料條哇!
回覆:表格中的資料條很難找到:抑制斧頭
什麼是doubleBuffer?

回覆:表格中的資料條另外,如果您不需要長條圖內的文本,可以使用間隔框 (Spacer Box) 取代圖形框 (Graph Box)。以下是一個快速且非常實用的範例(等我有更多時間思考這個問題後,我會寫出更好的版本)。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("R", Expression, None, Formula(
As Constant(
left_color = "Red";
right_color = "Green";
minval = Col Min(:Weight);
maxval = Col Max(:Weight);
scaling = (maxval - minval) / 300;
If(minval >= 0,
minval = 0;
);
If(maxval <= 0,
maxval = 0
);
);
If(:Weight >= 0,
right = :Weight;
right_filler = maxval - :Weight;
left_filler = Abs(minval);
left = 0;
,
left = Abs(:Weight);
left_filler = Abs(minval) - left;
right_filler = maxval;
right = 0;
);
H List Box(align("Center"),
Spacer Box(Size(1, 20), Color("Black")),
Spacer Box(Size(left_filler * scaling, 20), Color("White")),
Spacer Box(size(left * scaling, 20), color(left_color)),
Spacer Box(Size(1, 20), Color("Black")),
Spacer Box(size(right * scaling, 20), color(right_color)),
Spacer Box(Size(right_filler * scaling, 20), Color("White")),
Spacer Box(Size(1, 20), Color("Black"))
);
));

具有負值:

此外,如果您希望在 JMP 中擁有這樣的功能,請在JMP 願望清單中建立貼文。
回覆:表格中的資料條哇,速度快了好幾個數量級!
回覆:表格中的資料條我本來想編輯我之前的帖子,但是這個新的社區佈局讓用戶體驗比以前更糟糕......所以我將創建新消息(我本來想在 JSL 中添加劇透標籤)

/*""" Create databar column function
Author: jthi
Creation Date: 2025-10-18
Creation JMP Version: JMP Pro 18.2.1
"""*/
Names Default To Here(1);
add_databar_column = function({dt, colname, leave_formula = 1}, {Default Local},
newcol = Eval(Substitute(
Expr(dt << New Column(colname || " Data Bar", Expression, None, Formula(
As Constant(
left_color = -15775706; // pinkish
right_color = -11393916; // light green
minval = Col Min(_colref_);//, Excluded());
maxval = Col Max(_colref_);//, Excluded());
If(minval >= 0,
minval = 0;
);
If(maxval <= 0,
maxval = 0
);
scaling = (maxval - minval) / 100;
);
If(_colref_ >= 0,
right = _colref_;
right_filler = maxval - _colref_;
left_filler = Abs(minval);
left = 0;
,
left = Abs(_colref_);
left_filler = Abs(minval) - left;
right_filler = maxval;
right = 0;
);
bb = Border Box(Top(2), Bottom(2), Sides(15),
H List Box(align("Center"),
Spacer Box(Size(left_filler / scaling, 13), Color("White")),
Spacer Box(size(left / scaling, 13), color(left_color)),
Spacer Box(size(right / scaling, 13), color(right_color)),
Spacer Box(Size(right_filler / scaling, 13), Color("White")),
),
<< Backgroundcolor("White")
);
))),
Expr(_colref_), Name Expr(AsColumn(dt, colname));
));
If(!leave_formula,
dt << Run Formulas;
newcol << Delete Formula;
);
newcol << Set Display Width(110);
return(newcol);
);
/*
// Example
dt = open("$SAMPLE_DATA/BabySleep.jmp");
add_databar_column(dt, "Awake");
add_databar_column(dt, "Asleep");
add_databar_column(dt, "Dif");
*/