cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar

Fishbone/Cause-and-Effect-Diagram: enhancements to current platform to enable mind mapping

Presentation at JMP Discovery Summit Americas 2020 on the JMP Cause and Effect diagram. Some items to add to the wish list for future enhancements of the JMP Cause and Effect platform, or a new platform for "mind mapping". Structured Problem Solving using JMP Cause and Effect Diagram, mind-mapping software, and JSL (2020-... 

 

1. Allow the option to open a closed node. Currently only closes the node and shows the ellipsis that the node is closed. Had to add JMP script to send the << Close(0) and << Close(1) messages. So know HierBox can take both messages, just add option to the right-click menu.

2. Diagram allows text to be rotated left or right. Found no option to rotate the display boxes, such as in the entire hierarchy layout. By allowing text to be rotated and display boxes to be rotated, or the entire hierarchy layout to be rotated, has the appearance of mind maps. 

3. Add to the current 3 layouts: fishbone, hierarchy, nested, a new layout called something like "mind map" or "flexible map". Use the other JSL objects such as Outline Box, which allows the "node" to collapse or open, to be added to the new layout "mind map". 

4. If too difficult to add to the Cause and Effect platform, maybe a new platform that would allow mind mapping. Or an enhanced journal with capabilities. Can be simple, but use the built in JMP display boxes and messages. Could see someone enter Outline Boxes, Text Boxes, but allow connectors like in the Hierarchy boxes, the Cause and Effect Diagram hierarchy layout. It might be that most of the pieces are there in JSL, but just need to be put together to allow mind maps. 

1 Comment
mringqui
Level III

I have some more thoughts about this as well, mostly related to how complicated it is to script with this platform. Right now, the <<Diagram() function only takes 3 inputs (Chile, Parent, Label). Also, interacting with the Diagram once it is created requires knowing the position of each object within the display box. So in order to change the type of the diagram, and then change the coloring or sizes on individual objects within the diagram, one must first create a report from the diagram, and assign the relevant xpath of it to a new variable. Only then can you change the diagram type or use object indices to manipulate subcomponents. Example code included below.

NamesDefaultToHere(1);
dt = CurrentDataTable();
diagram = dt << Diagram(Y(:Item), X(:Parent), Label(:Name("Goal/DoD")));
dispBox = diagram<<parent;

hierBox = report(diagram) << xpath( "//BorderBox/HierBox" );
hierBox <<ChangeType(Hierarchy);
show(NItems(hierBox[1]));

//hierBox[1][2][1] << Background Color("Light Yellow");
//hierBox[1][2][2][1] << Background Color("Light Yellow");
hierBox[1][2][2][2][1] << Background Color("Light Green");
hierBox[1][2][2][3][1] << Background Color("Light Green");
hierBox[1][2][2][4][1] << Background Color("Light Yellow");
hierBox[1][2][3][2][1] << Background Color("Light Yellow");
hierBox[1][4][2][2][1] << Background Color("Light Green");
hierBox[1][4][2][3][1] << Background Color("Light Yellow");