A picture is said to be worth a thousand words, and the visuals that can be created in JMP Graph Builder can be considered fine works of art in their ability to convey compelling information to the viewer.
This journal presentation features how to build popular and captivating graph views using JMP Graph Builder. Based on the popular Pictures from the Gallery journals, this tenth edition highlights new views and tricks available in the latest versions of JMP. We feature several popular industry graph formats that you may not have known could be easily built within JMP. Views such as multiple Y-axis charts, ordinal dot plots, moving box smoother charts, fill between charts, and more can help breathe new life into your graphs and reports!

Thanks for joining. Thanks for tuning in. This is a picture from the gallery version 10. We're going to be sharing some very fun advanced Graph Builder tips and tricks. I'm joined by Scott Wise. I'm Jed Campbell. I'm the SE for the US Rockies Territory. Scott will introduce himself when he shares the screen in just a few minutes.
We want to start with just a quick teaser, and that is just a Jeopardy game board. Why might we want to do this? It's a fun diversion. I know that some companies for team building exercises will make little trivia games for their team or their department based on their own organization. Here's a way to do that in JMP. Really, it's just an excuse to learn hover labels.
I mentioned the hover labels. The Graph Builder tips here, we're going to create and use some custom hover labels to make this work. Another trick that we're going to use is we're going to use the properties to customize some of this graph. No scripting necessary. I'll be point-and-click. I do have the data right here, which I downloaded from Kaggle. You can actually get all of Jeopardy data if you want to play the historical game. But I've separated this down to just one date that was on air then.
But as always, we've got the Graph Builder steps for you so you can follow along with this. I won't build the whole thing here. I'm going to build one of three graphs. But first here, let's play this game. I want to show you what we're trying to build. I'm going to ask Scott here in just a second to choose any category, and we'll just play this. I want to show you how this works. Scott, do you have a category you'd like to go with?
Starts with G for, let's see, 300.
Starts with G for 300. Now when I hover over this, this pops up. It's a member of the Iris family with as many as 25 flowers on a single spike.
What is Gladiola?
That's a really good guess. If I hover over this right at the center here, then Gladiola. Wow, I did not know that one. Good job. Point being, each time I hover, I can get a different graph, and we can build that pretty easily. Let me just start over from scratch. I'll show you how to build the first graph, and then we'll cheat a little with some prebuilt graphs, but I've got all those saved to the data table, so you can recreate this pretty easily.
Anyway, so with the Graph Builder, it starts really just like all things in the Graph Builder, we're going to we're going to drag to our x and y-axis. But if I remember watching Jeopardy, it's probably going to be better to be at the category at the top. Likewise, with the value, I could drag it to the y-axis, but if I drag it over to the grouping, then this will work better for us in a little bit. I'm going to actually add this air date to the x-axis, and that's just so that those points will show up. If I don't, then I don't have any points, and I need the points in order to make this work.
I'm going to add an element here of the heat map, and then I'm going to shift click to add those points back so that they're at the top. The graph is actually pretty much done now. The rest is mostly cleanup. One of those cleanup steps is to set this shape column.
Now for the points here, I want that to be the actual value. You'll see when I click okay, now I have my Jeopardy game board, and it's just a little bit of things that I want to change. I want it to be blue, and I'm going to cheat here just by making some discrete colors and telling JMP, you only have two color choices. Of course, that first one defaults to blue. Then maybe just adjusting the color of this text and the size of the text as well.
Now we're pretty much It's there, and I can click done, and it's really mostly just clean up. I'm going to hold down the alternate key and click the red triangle. I'm just going to get rid of everything on this left column. That should get rid of almost everything.
I do The key, however, that I have this section over here is persistent. I could try right-clicking on it. I have some options, but none of those options are hide this. Secret here would be this little button right here called properties. It's also in the edit menu. When I click that, then I can click just about anywhere, and I get a highlight of what I've clicked on.
The nice thing here is that allows me to access some of these properties of this, and I can change this from visible to collapsed. I can do that very quickly. Things are looking really good. I have just one more super secret thing that I want to do here, and that is to change the graph spacing. Now, I have What is this? Six by five. I have 30 different graphs on this chart, on this Graph Builder right now.
If I go back to my childhood of growing up watching Jeopardy, there was always some space in between each of the TVs. Now I think we've got this just about right. I'm going to cheat a little here, and I'm going to pull up two more graphs, one with the answer and one with the question.
Now, remember, we do have this the instructions here for you, and so you should be able to recreate these. But it's really just more of the same, setting a blue background and telling JMP to use the answer column as the expression or as the shape.
What I want to What I want to do is I want to get that hover action to work, and I want it to work in order where if I hover over this graph, I want to see the question. Then, when I hover over the question, I want to see the answer.
This is really, really simple. It starts with a red triangle, and all we need to do is we need to save the script for each of these to our clipboard. I'm going to save this to my clipboard, and I don't need it anymore. Then I'm going to right-click here and go to Hover label and paste GraphLabs. Paste what I have into the clipboard. Then I'm going to do the same. This is just rinse and repeat. I could make this 30 levels goes deep. I save this script to the clipboard.
Now, this script that I have in the clipboard includes the hover label that I just pasted. If I go back to my main graph, you might think, oh, just right click and hover label because that's what we just did. Remember that we have 30 different graphs? If I control right-click, that's going to broadcast this hover label command to everything. I'm going to paste this graphlet.
Now, anywhere that I hover, I should, if I've done this correctly, let me make sure, if I actually hit that control button to base graph it. Now anywhere that I hover, I should have this ability to pull up a graph, and then I can hover once more and get the answer. That's the first teaser. Then let's maybe change gears and go into the actual pictures from the gallery for this session.
We've got three great graphs, or excuse me, six great graphs on deck for you. I'll do the first two, and then I'll give the time to Scott so let's go ahead and just jump right in. Again, like always, we've got the steps here for each of these, so I won't spend too much time on those. I'm just going to go fairly quickly.
But really, the first one here is the idea of having constraints on the smoother. Why might one want that? That is because the smoothers should make sense for specific domains. Really it comes down to JMP 19 now has the ability to make penalized splines instead of just regular B-splines. Let me show you what that means rather than use words.
I'm going to pull up a Graph Builder here. I'll show you a couple of examples, but let's say I have a process that it doesn't make sense for a smoother to be to dip below zero. How would I make that happen? The answer is I can change that smoother from a spline to a penalized spline or a P-Spline. Then I can do all sorts of fun things with it, one of which would be I can set that minimum to zero. You notice when I hit enter here that now that minimum is zero. I've made this smoother makes sense in the context of the graph that we're doing. Let me do it again with maybe a cycle.
Right now, by default, the regular spline, you see on this end, it's curving up, and in this end, it's sloping straight down. If this data is a cycle, I would like these two ends to meet in the background or magically reconnect. Again, that's really easy. I can just change it to a P-Spline, and Now I have this menu of all these different constraints. This constraint would be a cycle. When I select that, now that that spline is matching for each of these cycles.
I can also do I have, for example, a peak and a valley type constraint. If there's no constraint on it, it's looking like it's finding maybe two valleys and one peak. But I can change that to find just the peak, or if I hit the down arrow, just the valley, or a peak and a valley. There are lots of fun constraints that you can do to make things really fit with the smoother to fit your data and your domain much better. That's, again, coming in JMP 19.
The next graph is a trick to make data a little bit easier to see without jittering, especially in really dense places in the graph. This doesn't require JMP 19, but really it uses this trick that we've done in the past of doubling a graph element and then also using some transparency. Again, like always, we have the steps here for you, so you can recreate it later.
But I just want to really quickly show this and highlight the problem. If I grab fuel tank capacity and weight, and maybe I just want to look at these data points, and maybe I want it overlaid by the vehicle type. In fact, I'm going to make this problem a little bit more pronounced because right now the markers are very small.
But if I want those markers to be very large, then there are some sections here where it's hard to differentiate what's going on in the graph. If I could have each point be outlined as well as transparent, I think I could see this much better.
The secret here is really simple. Just right-click and add a second set of data points. Now, if I double-click on the legend, I can change things. I can change these markers individually or independently. If I grab the first set here and then right click on it, I can change that marker to maybe this large filled circle.
Then I can also right-click and make them maybe 50% transparent. I can also grab this second group and right-click on it and change its marker to the solid outline. Now, before I click here, you'll notice that there are solid outlines and solid fills for multiple things. You could do this with lots of different shapes. I'm just going to choose circles for the sake of this. But when I hit okay here, now I have a lot more ability to see what's going on with the data, especially in some of these tricky spots. I can see this red and this green one that were overlapping or these ones that are overlapping.
Again, just a nice, simple way to maybe resolve your data a little bit better without resorting to jittering, which might change the data. Next up, Scott is going to show you how to make a really, really great graph. This is super useful, even though it violates that three-second rule. Time to you Scott.
All right. Do you see my screen?
We see Zoom.
All right, do you see it now?
Yes.
All right. Thank you, Jed. That was fantastic. That was a great opener with the Jeopardy Gang in the first two pictures from the gallery. This is our 10th edition. I've been lucky to be involved with this same series for the last 10 years.
Again, what we're demoing from is a JMP journal with all the data scripted in, all the steps, and this will be made available to you so you can replicate these views. I'm going to handle these last four views. As Jeff keyed up, there's a great one called multiple y-axis chart. That's a mouthful. But what it's doing is it has given us the chance to have multiple y-axis, many on the left, or you could even put some on the right. But it's allowing those lines to interact with each other in the same space.
But JMP couldn't do this before. Before JMP 19, JMP would standardize all the axises. But if you don't want them to be standardized now, we have that ability to do that in JMP 19. This is a very common measure from readouts of experimental and measurement equipment, especially in the chemical and health and life science business.
While some people would say, oh, you might get confused looking at this chart, they know what patterns they're looking for. It's something that's been highly asked for. We are going to use that new parallel y-axis feature, but to set it up, we're going to set this up in a segmented way. There's a certain way to set it up with our graphing sections. Then this is a good place to mess with lines and colors and styles as well.
All right, the steps are there for you, but let's go straight to the data. This data is pretty straightforward. I have time and I have several continuous columns that I would like to see how it's performing over time. We will go in the Graph Builder.
I'm going to go ahead and put time on the x, and I'm going to put just the first one, ethanol, on the y. I'm going to right-click here and let's just remove the smoother and change the points to a smoother. I just want smoothers in this one.
First soft. Okay, that's all right. Go to the next one. I want to do temperature. Now, this is how you enter it. I'm going to put temperature right below ethanol, not in, but right below to create another segment. I'm going to do the same with elastis feed, and I'm going to do the same with NH3 feed.
Okay, now I have them I've mentioned off, and now I can evoke that parallel y-axis. But if I want things on the right, how do you do that? We're going to use an earlier trick. I think we showed this in one of the first pictures from the gallery versions. I'm going to take the air, and I'm going to put it in with temperature in the same area, and then I'm going to right-click and move right air. You see it puts it over on this side.
If I do the same thing with tank feed I'm getting the molasses, and I move right the tank feed and do the same thing with pH into the NH3 feed and move right the pH, then I'll just say done here, and I'll go to my top red triangle or my Graph Builder header. Now there's a parallel y-axis in JMP 19. Again, JMP 19 is coming out this fall, right by the time you view this. Do get it, if not for this, for all the other wonderful features.
But you click on this, and there we go. I'm going to go right back up to that red triangle, go down to show, and I'm going to turn off the legend and just space this out. I mean, we'll stretch it out a little bit. Now you have a very good way of doing parallel y-axis in Graph Builder.
Again, you can do more with titles. You can also go back to your legend settings and actually work with line color, styles, and width. Here's one I put in there. This was fermentation data, so I put in a little transparent background picture of fermenters just to give it a little bit of a theme.
All right. Multiple lyapses. The next chart we're going to talk about is a bump chart. A bump chart is a way of displaying rank when you want to compare several levels against each other by how they rank, 1-5, 1-10, in this case, 1-6.
Why desired? It's a very useful visualization, shows up a lot in infographics and even in dashboards, and it makes it easy to compare things to each other.
Now, there's a little trick in JMP that most people don't know about, which is JMP can do quick formulas right from the Graph Builder column selection area, and JMP can rank anything where you have a continuous column.
If your data didn't come in with positional rank, I guess that would be ordinal data, then you can create it on the fly. We're going to do that, and we're going to use that icon as markers, like Jed was doing for Jeopardy when he used the words for the markers.
Again, I have the steps available for you. This data comes from soccer performance for the English Premier League. We have vice-by-season taken the top six, the power six teams. We have their logo. I know where they finished at the end of the season. They call that the table. There's 20 teams. These teams usually finish in the top five, usually, or around.
But there are metrics that are getting really popular in soccer, unlike baseball had saber metrics. Soccer, 7 years ago started to do all these xG, GA, and xDiff. That stands for expected goals, expected goals against, and that's just the difference between the goals you score and the goals that's discussed for it against you.
Obviously, if you have a big for the season, if you were 60 here on expected difference, they would expect you to score so many goals that you gave up so little. Here, 84 expected to be scored, 24 against. That leaves you with around 60. Then you're probably going to have a good season.
But I would like to rank this column. Now, in blue, I've already done this, but I'm going I'll show you how I did it. I copied this back to my data table. If I go to Graph Builder, and before I do anything, let me take a look at I have this xDiff, and I can right-click, and I can get all kinds of fast formulas.
But before I do that, I'm going to go up to season, and I'm going to right-click, and I'm going to say Group by, because I would like to get the rank of the xDiff within each season, like among the top six, where did they fall against each other as it comes to expected goal difference. If I right-click here, I go Distributional, I'm going to use this Rank, Reverse order, and now I have a virtual column to play with that I can bring into my data.
I can right-click over here and do other things with it, like add it to the data table. That's how I got that one, Shaded and Blue in my data table. You can give it a different name. I'll just leave it like this for now. I'm going to go ahead and put the Seasons in here.
I'm going to overlay by the team name. I'm going to right-click here. In addition to points, I will add a line. Now you have what looks like a London two map, But this is actually a bump chart. I can see how different points bump up and bump down over the seasons.
Now that's well, but I'd like to use that trick that Jed did. I've got all those beautiful icons, like the badges of the teams. I can go under this red points, red triangle here in the little bottom left elements panel, and I can go set shape column. This time I'll use the team logo. There we go. It's looking pretty good. Make it bigger. One thing I can do, I can right-click in here under axis settings, reverse the axis, clean up the view a little bit. I'm used to seeing first place on the top.
I'm going to right-click in here and go into the general graph. Marker size, Jed did this as well. I'm going to say other, and I'm going to kick this up to 10. Now it's really clear for me to see.
This was going into a blog where we were looking at how well the expected goal difference for the season works. For example, we'll take the winner of last year's English Premier League, Liverpool. They came in first. They were expected to have a 40 plus expected goal difference. They actually achieved 45.
We're almost right on task. They ranked number one among all the six-hour teams in expected goal difference. Sometimes it works out. If I pick on a team like the one my nephew, unfortunately, he follows Man U, and they haven't been doing well for a number of years. But I can see that in this case, they were expected. They came in second in the table, but they were expected goal difference was supposed to be 15, and they actually had 40.
This year, they overcame what they were doing. They did better than expected. But you can take another year. In here, they finished 15th in the table. Their expected goal difference was minus one, and they actually did worse. They actually did minus 10 for the season. In this case, they underperform. Sometimes you can overperform and underperform. I'll give a shout-out to Chelsea, which has been very consistent and hopefully is on the rise. That's my team.
All right, so bump charts are awful fun, but hopefully that ranking trick will help you as well. We have that in playing with the line settings is also a good idea to give it a little bit of the right colors. You can do that again just from going into your legend settings.
All right. That's a chart that's been available for many releases, and that is a bump chart. We will look now at a new one in JMP 19, and this is a vector field chart. This was something that we really had the custom script before. There were examples of wind direction or measurement vectors coming off, maybe wafer locations. We had to customize these arrows, these arrays.
It's very useful in showing direction. It can show distance, but it can also show strength. Now you can do these out of the box in Graph Builder. We're going to use the interval landing zone to help figure out the distance, where things start, where things stop, and the arrow line types.
Again, all the steps are available for you. I found some great data. I thought I might try to replicate a spray chart that shows how quarterbacks perform against each other in a game.
I took last year's Super Bowl where the Eagles had a very strong defense and really held the opposing quarterback of the Chiefs to have a pretty bad performance and had a wonderful Super Bowl if you're an Eagles fan. But I'd like to see if I can replicate that view.
We have all the information I need. I have an idea of what pass it was that's going to be helpful for row ordering. I have the two quarterbacks. I have their starting position in this. Spray charts assume a 10-yard drop back from the line of scrimmage in the center of the width of the field. The x is zero, the y is minus 10.
But here's where the passes went. Here is the outcome, and I did it in a calculation to get the distance forward from the line of scrimmage. Did it result in negative yards or positive yards? This should be all I need to do my charts. If I go to Graph and I go to Graph Builder, here we go. I'm going to put my x1 on the x, my y1, that's where everything starts.
I am going to put my path ID. Let's see here. Which one do I want to put here? Distance from loss on the size, outcome on the color, and path ID on the overlay. Now, it doesn't really say it's doing much of anything. I'm going to turn off the smoother. I'm going to change that point just by right-clicking into a line.
Still doesn't look so good, but I haven't told to JMP where things end. You're going to use this interval to tell it where it ends. I'm going to take both x2 and y2, dump it on the interval. Still doesn't look too good, but under the line elements, I now have a new area for ordering that gives me more power that lets me do Rule, Order, Summarize, or Within-Row.
In this case, it's within row. Look at that. This would be perfect if we could just put an arrow on it. We'll just go to your connection and switch line out to Arrow. Now I can see where the passes are going. This is very easy to do. I think we'll get a lot of not a good business analytics infographics using this.
But this really helped me. I set up a little side filter because I had the outcome of the pass and I had the quarterbacks. Here's Jalen Hurts of the Eagles. He had a good game, but they also ran the ball well, so we didn't have to throw exclusively.
He did have one interception. He had two touchdown passes, one being quite long, just a couple of incomplete ones, and a lot of completions on both sides of the field. How did that compare to Patrick Mahomes of the Chiefs?
Right away, you can see he got no love on this side of the field. The equals defense really shut down and kept anything that went to the left side of the field very short, with a lot of incompletions and just little mileage, little yardage, I should say. Most of his success came on the right-hand side.
He had a lot more, again, it's completions, but not a lot of deep completions. He had a lot of incomplete passes. He threw two very costly touchdowns. I believe one was returned for a touchdown for the opposing team. He did have three touchdown passes. But obviously, this is not a typical game, and it was because of the defense of the other team. This is a cool way of looking at things. This is vector field charts. I'll be curious to see how you can use it with your own data.
All right, the last picture from the gallery we're going to show is a Curve bar chart. This is a cool looking chart. It was a challenge I saw in some graphing forms where they said people will rely on bar charts and get in a bar for a grouping. Here I have this one bar for alcohol beverage consumption preferences for beer drinkers.
But they're like, Gee, a lot goes into making that bar. Wouldn't it be great if we could incorporate maybe a curve line on what makes up that bar? That was a cool idea. JMP has some cool ways of shading below the lines and doing the double element trick that Jed showed us on the teaser, on the Jeopardy game. We can actually make this chart pretty easily, and I thought it was a good view.
This is Gallup Poll data that I'm looking at. We're going to make use also of that top x trellis that doesn't get a lot of love in these curvy line styles and fill belows. All the steps are there for you as well. We'll go look at this Gallup Poll, 22 years of alcohol preferences. This is of those who drink alcohol, what do they prefer? We're just doing beer, wine, and liquor.
For 1992, I have what their preferences are for 1996. Then we figured out the grand average for each group. Forty-one percent beer drinkers, 31% for wine, 23% for liquor. This should be all the data I need. Now, I'm going to use these last two columns here in my graph. If I go in the Graph Builder, I'm going to pick up percent group mean. I'm going to park them right down here. I'm going to put my category at the top, put my year at the bottom.
I'm going to right-click here. I'm going to change one point to the line, and I'm going to right-click again. There's a smoother out there that just automatically got added. I'm going to change that to a line. Essentially, I have two line plots. Now, on this first line plot that I have, there's a variable area that controls what that element is paying attention to. In this case, I just want you to pay attention to the group mean. This line element is just giving me that group mean. On the group mean percentage.
This one, I'm going to go to that variable section just like I did the other, but this time I'm going to drop the group mean and have this one pay attention to percent. Now I can go and change the connection to curve Now I can control with the smoothness, how curvy I want it. I like it really curvy. I can actually click on this fill and I can fill below. I could have also filled below just the mean line as well. You could as well take the fill out here, and you could have filled below that line as well.
Whichever way you want to do it is cool. Let's give it some color. The overlay gives it some color, and now you have it. I prefer filling below the curvy line. I think that looks better. There we go. That is how you build that chart. If I go look at one that I've massaged a little bit, and I worked with the legend settings, and I made thicker lines, and try to get colors and brought in some represented background pictures.
This does tell a story. Here you can see among people that drink alcohol, beer drinkers seem to be losing popularity here over the last 6 years or so. You can see it seems to be going up on liquor and even a little bit of spike up here for wine.
This is showing a real trend in the industry where other types of liquor-based drinks are getting really, really, really popular in grocery stores and places in bars. It's not just getting a mixed drink, you're getting infused drinks. That's taken away from the popularity in beer, including craft beer. All right, so very cool a full chart. Hopefully, you enjoy that. Maybe find some use for a view like that within your data.
All right. Again, this was our pictures from the gallery. We will make this available to you. I will say in your journal, we have a whole slew of good self-learning links and blogs and tutorials on how to do more with graphs. This first one up Here is actually a link in our JMP community, community. JMP.com, to where all the previous pictures from the gallery are. This is a good place to look for new views that maybe are not in the JMP Graph Builder help. People have suggested and we figured out how to do. This one will be added to this list very shortly.
Awesome. We love to hear your ideas. There is a wishlist on the community as well. It's called the JMP wishlist, and you can put in your idea for the graph you'd like to see, and Jed and I love nothing more than challenging a new view. Ninety Eight percent of the time we can get it done in Graph Builder, usually out of the box, right out of just knowing how to do it with all the different options.
Absolutely. It's totally fun.
Picture from the gallery. We appreciate your attendance. Please let us know any questions and answers you have or questions. We'll give you the answers. Please do try these out.
Thanks.
Presenters
Skill level
- Beginner
- Intermediate
- Advanced