@arnaudsteyaert, I'm sure many encounter this situation. Thanks for bringing it up.
You can manually set graph dimensions in pixels to match the scale required for your publication, then adjust fonts for readability before placing the graph into your document. There are a couple ways to set pixel size: via point-and-click or via JSL code. JSL offers the fullest control over total graph dimensions, but you may get where you need without the added complexity.
Point-and-click
You can set the graph frame size in pixels by right clicking in any graph and going to Size/Scale > Frame Size (which in Graph Builder is under the Graph submenu). Note that this sets the size of the graph frame (i.e., the plotting area), so your axes, title, etc. lying outside the frame are not affected and will extend beyond your specified dimensions. But if you adjust the frame size down enough to leave additional room for axes etc., you likely can get close enough to your desired total size so that negligible resizing is needed once the image is in your doc. But if you want finer-grained control, read on.
JSL
Go to File > New Script, copy-paste this code into the window, and then click Run to produce a graph where the entire graph including axes etc. is 700x500 pixels. The last two lines are the important part: they reference the part of the Graph Builder report window that contains the graph and axes etc. and send the Set Width() and Set Height() messages to it.
// Run this just once to create a graph to resize
dt = Open("$SAMPLE_DATA/Fitness.jmp");
dt << Graph Builder(
Size( 714, 577 ),
Show Control Panel( 0 ),
Variables( X( :RstPulse ), Y( :Oxy ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line Of Fit( X, Y, Legend( 5 ) ) )
);
// Change the width and height values and rerun these lines to see how the total graph size changes
Window("Fitness - Graph Builder")["Graph Builder",GraphBuilderBox(1)] << Set Width(700);
Window("Fitness - Graph Builder")["Graph Builder",GraphBuilderBox(1)] << Set Height(500)
So in practice, point-and-click your way to the graph you want, then open a new script window and run a couple lines of code setting the width and height. If you're working in Graph Builder, just substitute your window name in place of "Fitness - Graph Builder" in the last two lines of the example, and it may work just fine. Otherwise, JMP can spit out the reference for you. Right click in the graph and go to Show Properties. Use the display tree on the right to find the box that contains your entire graph, and then use the Box Path section to get the reference. Here's what that looks like for the example:
Ross Metusalem
JMP Academic Ambassador