因果图颜色是否可以将颜色信息嵌入到因果图的表格中?如果不是,这可能是一个功能请求吗?
这对于跟踪根本原因调查的进展非常有用。当存在多个具有相同名称的文本编辑框(例如:温度、设置)时特别有用。
我使用的是JMP14.3.0
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Ishikawa.jmp" );
dt << Diagram(
Y( :Child ),
X( :Parent ),
SendToReport(
Dispatch( {}, "Solder process", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Splatter", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Flux", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Chain speed", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Temperature", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Setup", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Control", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Wave pump", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Height", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Flow", TextEditBox, {Font Color( 5 )} ),
Dispatch( {}, "Raw card", TextEditBox, {Font Color( 3 )} ),
Dispatch( {}, "Short circuit", TextEditBox, {Font Color( 3 )} ),
Dispatch( {}, "Shroud", TextEditBox, {Font Color( 3 )} ),
Dispatch( {}, "Moisture context", TextEditBox, {Font Color( 3 )} ),
Dispatch( {}, "Time", TextEditBox, {Font Color( 3 )} ),
Dispatch( {}, "Temperature", Text Edit Box( 2 ), {Font Color( 3 )} ),
Dispatch( {}, "Components", TextEditBox, {Font Color( 0 )} ),
Dispatch( {}, "Missing from reel", TextEditBox, {Font Color( 0 )} ),
Dispatch( {}, "Vendor", TextEditBox, {Font Color( 0 )} ),
Dispatch( {}, "Setup", Text Edit Box( 2 ), {Font Color( 0 )} ),
Dispatch( {}, "Wrong part", TextEditBox, {Font Color( 0 )} ),
Dispatch( {}, "Functional failure", TextEditBox, {Font Color( 0 )} )
)
);大规模定制回复:因果图颜色@机器人我没有意识到你可以从 HierBox(1) 制作数据表。 这样就可以了!!
回复:因果图颜色我刚刚看到这篇文章,并且刚刚提交到 JMP 愿望清单,根据我在 2020 年 JMP 探索峰会上的主题添加其他功能,使 JMP 因果关系更像思维导图。
您可以查看我在 2020 年 JMP Discovery 峰会上的演讲:使用 JMP 因果图、思维导图软件和 JSL 结构化问题解决 (2020-US-30MP-569)
我能够制作一个交互式浮动窗口,允许用户通过向文本编辑框发送消息来在标签列中添加“E”、“C”、“N”,并且每个字母都包含不同的字体颜色。 如果缺少,该脚本还会创建“标签”列。
我正在尝试对任何初始文本进行着色的问题做同样的事情,但是在向子父级发送消息时遇到一些问题,它想要为其下面的所有文本着色。 但这篇文章是一个有趣的概念,我们的 JMP 用户采用相同的因果图,并使用右键单击每个文本编辑框的内置功能,为每个问题手动对不同文本进行颜色编码。 交互式浮动窗口概念很好,因为您可以在团队集思广益时着色或返回原始颜色。
我会将您的建议添加到因果图的同一愿望清单中,也许开发人员会在未来的版本中对此进行研究,并添加为第四列选项。 以下是 JMP 愿望清单下的帖子:鱼骨图/因果图:增强当前平台以启用思维导图
回复:因果图颜色谢谢@andreacoombs1 。你的脚本确实做到了大部分。我认为这个脚本可以完成剩下的工作。我尚未测试稳健性,但似乎工作正常。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Ishikawa.jmp" );
// Add color column.
dt << New Column( "Color",
Numeric,
"Continuous",
Format( "Best", 12 ),
Value Labels( {3 = "Red", 5 = "Blue"} ),
Use Value Labels( 1 ),
Set Values( [., 5, 3, ., ., ., ., ., 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, ., ., ., ., ., ., ., ., ., ., .] )
);
// Create diagram.
dgram = dt << Diagram( Y( :Child ), X( :Parent ) );
// Get diagram order.
dgramRep = dgram << Report;
dgramRep[Hier Box( 1 )] << Make Into Data Table();
orderDt = Current Data Table();
orderDt << Set Name( "Row Order" );
orderDt << New Column( "Row Order", Numeric, Continuous, Values( Index( 1, N Rows( orderDt ) ) ) );
// Update dt with row order.
dt << Update( With( orderDt ), By Matching Columns( :Parent == :Parent, :Child == :Child ) );
Close( orderDt, No Save );
// Set colors.
orderList = As List( dt:Row Order << Get Values() );
colorList = As List( dt:Color << Get Values() );
For( i = 1, i <= N Rows( dt ), i++,
c = colorList[Loc( orderList, i )][1];
If( !Is Missing( c ),
dgramRep[Text Edit Box( i + 1 )] << Font Color( c )
);
);回复:因果图颜色该脚本可以帮助您完成大部分工作。我必须更多地考虑如何提取相应的父项,但以下是如何获取子项和行顺序的方法。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Ishikawa.jmp" );
fb1 = dt << Diagram(
Y( :Child ),
X( :Parent ))
;
fb1rep = fb1<<REPORT></REPORT>
回复:因果图颜色谢谢@andreacoombs1 。您知道自动执行 dt:Row Order 列中的值的方法吗?
回复:因果图颜色可以使用脚本设置数据表来为鱼骨着色。以下是三个关键步骤以及有关正在发生的事情的一些注释。
1、数据表必须按照鱼骨创建的顺序排序。父行是前一行中的子行的任何行都必须位于后续行中。 Ishikawa.jmp 数据集不按此顺序排列。下面的脚本将创建一个名为“Ishikawa Sorted”的新数据表。例如,请注意,在焊接工艺中,有一个名为“温度”的子项,它是其他行中的父项。焊接工艺、温度位于第 9 行,温度、设置紧随其后位于第 10 行。
2. 添加一个名为“颜色”的列,其中包含标准 JMP 颜色。出于演示目的,下面的脚本添加了此列,并为此颜色添加了“行状态”列,并对数据表进行了着色,以使配色方案变得明显。我已将 5 个潜在根本原因类别分开着色。 我还将其中一些着色为灰色,例如,当您得出有关潜在根本原因的结论时,您可以这样做。
3. 最后一步是运行脚本,1) 创建鱼骨图,2) 从数据表中提取颜色,3) 为鱼骨中的文本着色。包含这三个步骤的脚本可以保存到您的数据表中。鱼骨图中的文本字符串存储在文本编辑框中。第一个文本编辑框对应于数据表中的第一或最高顺序父级,在本例中为“电路板缺陷”。这就是为什么 For 循环包含 i+1 表示文本编辑框和 i 表示相应的颜色。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Ishikawa.jmp" );
//Reorder by defect groups
dt << New Column("Row Order", set values (
{1,5,15,21,27,2,3,4,6,7,8,9,12,10,11,13,14,16,17,
18,19,20,22,25,26,23,24,28,29,30,31,32,33})
);
ndt = Data Table( "Ishikawa" ) << Sort(
By( :Row Order ),
Order( Ascending ),
Output Table( "Ishikawa Sorted" )
);
//Add column for color, color rows by color
ndt << New Column ("Color", set values(
{4,4,4,1,5,5,5,5,1,1,1,5,5,5,3,
3,3,3,3,3,8,8,8,8,8,8,6,6,6,6,6,1,6})
);
ndt << New column ("Color State", "Row State", Formula(Color State( :Color )));
Column(ndt,"Color State")<<COPY to="" row="" states=""></COPY>
回复:因果图颜色我很确定我看到了@andreacoombs1设置一个表格模板以与为鱼骨分支着色的脚本一起使用。 不幸的是,我没有那个脚本。