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

JMP Academic Webinar - Producing Publication-Quality Graphics

Published on ‎06-16-2022 03:09 PM by Staff | Updated on ‎06-21-2023 03:35 PM


Post questions or comments below. Download the JMP journal in the Attachments section to the right.


Webinar Overview

Research publications and presentations call for high-quality data visualizations, often following specific formatting requirements, aesthetic preferences, or other customization needs. While most JMP users are aware of JMP's strength in exploratory graphing, fewer are aware that JMP also is capable of producing highly customized, publication-quality graphs. In this webinar, you'll learn basic and advanced techniques for customizing graph formats and aesthetics as well as how to export graphs in high-quality image formats that can be resized without becoming blurry or pixelated. You'll also see how to perform extremely fine customizations on JMP graphs after exporting them, opening up a nearly infinite level of customization.

Helpful Links

Free 30-day trial:

JMP Academic Program:

Free Teaching materials:


Contact the JMP Academic Team at

Wed, Jun 29, 2022 02:00 PM EDT
Wed, Jun 29, 2022 03:00 PM EDT
Level V

Ross: Great webinar! First time I've seen all of these tips/tricks in one video. I've shared this with my company's JMP users (to nudge them to do better...). Thanks!

Thanks, @markschahl! May your graphs be forever beautiful.

Ross Metusalem
JMP Academic Ambassador

Hello Ross,


Thank you for this webinar. It has been really usefull, specially the last part. However, I have a comment, adding superscripts and subscripts is not very easy in JMP. Either one can use the powerpoint method you showed in your presentation, or in my case I have been using the unicode keyboard on mac, would it be possible to include a small menu for these exponents in some future version of the program?


Kind regards,


Thanks for the suggestion, @ArturoDS. The JMP Wish List is the best place to put in requests for new features such as this.

Ross Metusalem
JMP Academic Ambassador
Level II

Super interesting webinar, thanks a lot. I do, however, have a question. Graphs for journal publications usually need to be a specific size (e.g., column width). How can you make JMP respect these constraints? This is important because if you resize them after the fact, the point size you choose for the text will change (or you will need to manually change it in a vector graphic app). Do you have advice on this topic? Any help will be greatly appreciated.

@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.



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.



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/");
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:


Screenshot 2023-04-26 at 12.01.25 PM.png


Ross Metusalem
JMP Academic Ambassador

Thanks a lot! The point-and-click method is a little tricky if you have a Y grouping variable, as GraphBuilder considers both panels as independent frames. I have implemented the second method in a script for graphs I'm currently working on, and it's working brilliantly!


I find that the script solution doesn't work anymore since I upgraded to JMP Pro 17... The error message says it can't find the name when accessing Window("..."). Has something changed in the way JMP searches for windows? Should I change the JSL script?

Window("2023 MICROVOLT individual differences - Graph Builder")["Graph Builder",GraphBuilderBox(1)] << Set Width(450);
Window("2023 MICROVOLT individual differences - Graph Builder")["Graph Builder",GraphBuilderBox(1)] << Set Height(275)

Any help would be greatly appreciated.


Hi @arnaudsteyaert, please use Show Properties as in the example above to check the Box Path to ensure you have referenced the right path. That's generally the right approach for the kind of error message you've received.

Ross Metusalem
JMP Academic Ambassador

Solved, thanks a lot! When upgrading to JMP 17 it defaulted to French (my system language). Therefore Graphbuilder became Constructeurs de graphiques... I modified that it in the script and it works again.