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

🙏 Graph Builder: revert changed axis labels

☐ cool new feature
☑ could help many users!

☑ removes a „bug“

☐ nice to have

☐ nobody needs it

 

What inspired this wish list request? 

 

Sometimes a user wants to revert a label and cannot do this:

  1. In Jmp there is a severe bug: after a manual change of an axis label,when you add or remove subplots, this label doesn't stick to the respective axis - the label sticks to the "position": Manual axis labels are 'mixed up' when plotting multiple columns 
  2. If a user deletes the text label, he has no access anymore to the label - so: no possibility to edit the label.
    This issue will be fixed in Jmp 18
    hogi_2-1702725917382.png
  3. nice feature: If a user deletes the title of an Outlinebox, the title bar gets removed. But there is no possibility restore the title bar.

     

What is the improvement you would like to see? 

Please add commands to revert labels:

a) revert a specific axis label

b) revert all labels of the Graph.

 

hogi_0-1702725636984.pnghogi_1-1702725798451.png

 

Why is this idea important? 

The feature will make the life of a Jmp user much better.

 

 

more wishes by  hogi_2-1702196401638.png

7 Comments
hogi
Level XII

 

Local( {outlineBoxes,scaleBoxes, XMLs, CharIds, Ids,teb}, 
Try(
	outlineBoxes = Current Report() << Xpath( "//OutlineBox" );
	For Each( {ob}, outlineBoxes,
		scaleBoxes = ob << Xpath( "//ScaleBox" );
		
		// there is definietely any easier way than this one to get the Ids ...
		XMLs = Transform Each( {sb}, scaleBoxes, Word( 1, sb << Get XML, "\!n" ) ); // first line 
		CharIds = Transform Each( {xmlCode}, XMLs, Regex( xmlCode, "charID=\!"(.*?)\!"", "\1" ) );
		Ids = Transform Each( {xmlCode}, XMLs, Regex( xmlCode, " ID=\!"(.*?)\!"", "\1" ) );

		For Each( {axisLabel, idx}, CharIds,
			If( Not( axisLabel == "" ),
				Try(
					teb = (((((ob << Xpath( "//AxisBox[@charID=" || Ids[idx] || "]//.." ))<<parent)<<prev sib)<<child) << child)[1];
					teb << set text( axisLabel );
		
				);
		
			)
		);
	));
);

 

hogi
Level XII

@mia_stephens , can be archived -> users can use the icon on the GraphBuilder Toolbar.

Status changed to: Archived
 
hogi
Level XII

hm, the script works ...

 

... but has some limitations:
- units are not treated correctly

- The script doesn't reset the label; it guesses the correct one and puts it there. A reset is needed for the column switcher to work correctly.

jwiltsie
Level III

This bug is even worse than previously described: The manual axis label remains the same even if you replace the column with a different column in Graph Builder. This gives a completely wrong axis label for the graph!

jwiltsie
Level III

...users can use the icon on the GraphBuilder Toolbar.

@hogi what icon on the Graph Builder Toolbar are you referring to? Could you give a screenshot? Thank you!

hogi
Level XII
This bug is even worse than previously described: The manual axis label remains the same even if you replace the column with a different column in Graph Builder. This gives a completely wrong axis label for the graph!

yes, this bug is really dangerous!!! Fortunately, it was fixed in JMP19 . (*)

 

In addition, Manual axis labels are 'mixed up' when plotting multiple columns was also fixed.

 

So,

  1. most of the need for this feature is gone now. 

  2. (*) gives us a new workaround to reset an axis label:
    replace the column with a different column - and then switch back to the old column 

  3. One can use the icon in the Graph Builder Toolbar (with the limitations I mentioned in a previous post).
    It's this one:
    hogi_1-1758174099386.png

    https://community.jmp.com/t5/JMP-Wish-List/Graph-Builder-revert-changed-axis-labels/idc-p/762199/hig...