The Scatterplot 3D platform in JMP has long been a powerful tool for visualizing complex data relationships in a three-dimensional space. This feature allows users to explore variations and correlations among multiple variables, providing deeper insights into their data. It applies advanced computer graphics technology used in the video games industry, which is thriving in Austin. Known as the "Silicon Hills," Austin is a fitting venue to introduce JMP Live’s entry into the third dimension with JMP 19 by applying web-based video game technology to support interactive and animated Scatterplot 3D platforms on JMP Live.

Initially, JMP’s Interactive HTML team focused on supporting more basic platforms on the web to meet the needs of the majority of JMP’s user population. With over 12 years of advancements in interactive HTML, these foundational platforms are now well-supported, allowing us to address the specific needs of users who rely on Scatterplot 3D and want to share this interactive content on the web. This significant effort paves the way for sharing more interactive three-dimensional content from JMP on the web in future versions.

This presentation highlights the significance of the Scatterplot 3D platform in JMP, showcasing its capabilities and the value it brings to data analysis. Through several examples, we demonstrate how the Scatterplot 3D platform can now be shared, fully interactive on the web and in JMP Live, enhancing accessibility and usability for a broader audience.

 JMP 19 Scatterplot 3D Examples | JMP Public

 

 

Hi, I'm John Powell. I'm a software development manager in the JMP team. I'm going to talk about how JMP is entering into a new dimension. By that I don't mean that we are adding more variables. We've been able to do that for a while with bubble plot and scatter plot matrix and profilers that can do multiple dimensions. I'll get right into it.

What I am going to talk about, though, is this third dimension. What I mean by that is the technology we're using to draw certain things instead of just two-dimensional objects we're drawing in three dimensions. The trick to that is how to make something look three-dimensional on a flat screen.

To get depth perception on the flat screen, you basically look at how people perceive things in the real world and in the real world. If you look at something like a piece of paper, it's just flat pictures on the paper. In a room you've got three dimensions. You've got forward, backward, up, down, left and right. If you look at objects in your room, you're going to see that they've got shading on them depending on where the light is. That's one way to trick people into believing something on a flat screen is actually three-dimensional.

Another thing you do is when you're looking at objects that are close to you, they look a lot bigger than things that are further away. That's one way we can make things look three-dimensional on a flat screen. This occlusion, where this fancy way of just saying this object is closer to you. It's going to block the objects behind that. We'll do that. All of these things and more in the 3D world to make you believe that you're looking at a 3D object when you're in one of our 3D plots.

The one I'm going to talk about primarily is the 3D scatter plot or scatterplot 3D platform in JMP. Here's an example of that in JMP. This is what it looks like basically with the iris example which is the iris flowers. There are three different species of flowers and they're shown in different colors. That's encoded in the data table itself.

What I'm showing here on the bottom is sepal width and sepal length. On the vertical is the petal length. You can see all these spheres in the 3D realm. They look kind of flat. Once you start moving it around you'll see that it really is 3D. How do you get to that in JMP?

You go to the graph menu and there's scatterplot 3D, and you get a lunch dialog that looks like this. Basically you throw three y columns in. Those are the ones that I use for that particular example. Then you hit okay. If you publish the JMP Live it's going to look the same. The goal is to get it to look the same in JMP and to make it interactive. I can't show you that on a slide, but I'll show you that later. Let me get back up a little bit and say, well, what is the scatterplot 3D? What is it good for?

It's really great for demoing data that really has a real world concept like front, back, left, right, up and down, having depth in it. Not all data is like that. You've got abstract data as well. That will be good to look at in three-dimensions. In three-dimensions you can find patterns that are not visible on planes aligned with any of the axes.

Here's an example. You can see that when you look straight on down the x-axis, you don't really see any pattern, but if you were to rotate it around looking from this specific angle on the right image, you'll see that they're kind of aligned along a plane which is not aligned with any axis.

The other thing you can find in 3D pretty easily is as you're rotating around, you'll notice clusters that may not be visible when you're looking straight on. What else is it good for? If you're comparing 2D plots, but you want to compare multiple 2D plots, they could be across time.

If you look at the bottom axis on the left, it's time. You can see 3D plots progressing over time from back to front. These could be rather than time, it could be different production sites where you have 2D plots you want to examine.

Here's another example where maybe you've got a bunch of measures across a 2D grid of points X and Y is the grid, and measure is the measurement you're taking across that grid. You can see to the right-hand side. There's a bunch of points that go up really high in the measure, and the rest are pretty low down. You can see that when you're looking at 3D.

The question is why now? What took us so long to get to implementing this for the web? I will get right into that. Why did we wait until now to support it? Basically, it's kind of a long story, and it will be a run-on sentence here just warning you. Our approach has always been to prioritize support for features used often by most users. We want to give you the most amount of functionality earliest as possible.

Scatterplot 3D is among a few features not commonly used by all JMP users, but cater to just specific segments of JMP users. To adopt the culture of statistics throughout the company, JMP Live needs to support interactive reports that appeal to a diverse workforce, not just engineering scientists, but marketing, finance, etc.

Some JMP Live users will have different visualization expectations than science and engineering departments. We have already supported most of the features used often by most users. We've added support for scatterplot 3D and several other features that are used by some of our users some of the time like multiple response data in histograms and local data filters.

Statistical process control, which involves process screening, control charts warnings triage, and environmental monitoring. We've added many new profilers, especially in the reliability platforms. Red triangle menus that are only available on JMP Live to bring JMP Live users more control over what they're looking at.

Also supported graphs and tooltips, commonly known as graphlets in JMP, and word cloud, which is used for text processing, and pie charts. Everybody loves pie charts. Not necessarily statisticians, but very popular in business. With JMP Live you're sharing that with everybody across the business. Some people love their pie charts and many other improvements that I won't go through now.

I did want to say that this isn't the only thing we did in this version. Many other things, and it's the time to do those other things too, because we have a more diverse audience with JMP Live, and we want to appeal to them as well.

With this new release, please look for videos, blogs, and live demonstrations of all these features and try them yourself. That's the end of this commercial little sidestep from scatterplot 3D. Now getting back to it.

I want to make sure you understand all the features of this scatterplot 3D platform. It's a little bit more than just visualizing three or more variables, and there's lots of features, and they're spread across multiple user interfaces. I'm going to cover those in depth starting with the different ways you can customize and control scatterplot 3D since it's offered in multiple places and JMPs user interface.

We'll start off with the launch dialog, which I showed you before, but I didn't get into much detail. Besides the three Y columns in 3D space, you can actually add a weight which controls the size of those spheres, frequency and coloring. Coloring that I showed before came from the table. It can also come from a variable, like if I threw species in there, and it wasn't colored by that in the table, it would be colored by species. Or you could even throw in a continuous variable, and it would color based on that.

Next up of course we have a red triangle menu options, and there are plenty of them in the scatterplot 3D platform on JMP. One that allows you to drop down lines from the points in the graph, a way to connect the points in the graph, and way to show normal contour ellipsoids around clusters in the graph, and to do the nonpar density contours in the graph as well, and principal components. There are a few other things, but I won't go over every single one of them.

Next you have a right click menu. When you're looking at a 3D graph, and you right-click, you'll get this menu popped up. If you had a color role, you get to decide whether you want to show the legend or not. Then there's reset that'll reset settings. Settings dialog which I'll show you next. Highlights border. That's if you have light sources being shown and all that. Then wall and background color that can make your graph look a little bit prettier. Or make the data stand out more if you want.

Finally, there's a hardware acceleration option in JMP, and that is off by default. If you turn it on, your performance will improve. Then a couple of other features I'll let you try for yourself. There you saw the settings. From the control click menu or right click menu. This is what it looks like.

It allows you to enable or disable the walls, the axes, the grids, and the box. The box is just a box, that thin line box that's drawn around all the graphic area. Now, camera controls are something that you need in 3D, because you need to be able to zoom in and show different perspective and rotate and so on. That's important too.

Now with markers, you're allowed to specify many things about the markers, which is the marker size, the quality of it which changes how it's drawn, and then transparency that lets you see through the points to data behind it. Then there's text size and line width. Text size is for the axis labels and line width is for the grids that you'll see.

I mentioned you can set certain things in the data table itself, like the marker shapes, the triangle marker shapes here, the red and green. The color is embedded there as well, and that little mask looking thing is the visibility.

There's also exclude that I did not show here, but it can be set in the data table and represented in the 3D graph labels can be turned on in a row. Individual row label. That's what the yellow tag looks like there. It means that when you show the point, you're going to show a label next to it. It's labeled by the species in this case.

Of course, you have to be able to rotate around. That makes 3D look so much better and helps you understand what's going on so much better. I'll show you very soon. You have to be able to rotate the view. You need to be able to zoom in and pan on the axes. That really helps if you're trying to focus in on something.

Of course, there's the file menu that allows you to export to interactive HTML, to get interactive 3D plots on the web, or publish to JMP Live, where you also get to see 3D plots on the web. There are a bunch of static image exports as well, but they don't help very much with 3D graphs.

This is our first step into the third dimension. As I said, we're entering into this dimension. It's a really complicated one because the rendering techniques are completely different. Given that we had to limit the scope of what we would do with scatterplot 3D and here are some of the things. Just to get started, we needed to set up the ability to have coordinates in three different systems, three different axes.

These camera controls that are so important to being able to look around in the scene and rotate the view. On the desktop we use the mouse on a mobile. Since we support mobile, you're going to do swipe and pinch as you would expect on a mobile device.

Now, something you don't have to do too much in 2D is clipping things at the edge of the window. That just happens automatically, because when you draw on a window, anything that you draw outside the window just isn't shown. In 3D, since you can rotate around things that are outside the 3D scene, as I call it need to be clipped at the edge of it. Otherwise, as you rotate around, those things will be showing still, and we don't want that.

We also have to hide the walls and the grid lines as it rotates around, so they don't block the data as you rotate around it. That's really important, but a difficult thing to do. Collision visibility of the background, walls, axis and grid and box just to match what JMPs capabilities are. That was a rather trivial thing to do once you're able to draw them, just setting the visibility and colors, that's a trivial thing, so we did that.

As I mentioned, they have a lot of different capabilities and different ways you can decide how to draw them. They're complicated enough with size, color, shape, and transparency. We support all these options of just points, but we don't provide a way to change them in the browser, at least not yet.

Hardware acceleration. There isn't really a setting for that because in the browser, if your browser supports three-dimensional graphics and most do today, then it will automatically be hardware accelerated, and you wouldn't really want to turn it off because it would just go slower.

Now here is actually unfortunately one of the larger parts is what we didn't support on JMP Live, but we would like to have this prioritized for future additions in JMPs. That comes from getting input from your from you on what you'd like to see. Here are the things in the red right triangle menu like drop lines, connecting points, and principal components, surfaces such as ellipsoids and contours. It's not supported and even row labels in the table that's a little bit complicated to write full text within the point scene.

Zooming on the axes is not supported. If you zoomed in on the axes or panned around before you exported or published to JMP Live, we will support that. Tooltips and selection actually didn't make it into this release, but we are expecting to be able to support at least tooltips in the maintenance release.

What happens when a feature is not supported? This isn't any different than our 2D graphs where we have features we didn't support yet. A screenshot will replace the plot, in this case the interactive 3D plot, and there will be a message added to the log of JMP indicating which unsupported feature is being used, so you can use that to call up tech support and say, I really want this feature to be supported, and it's got the name of it written right there in the log, so you'll be able to ask for it easily, or you can use the wish list as well.

We do encourage you to request those features. As I said before, we prioritize based on your feedback. That is one of the reasons it took so long to do 3D. We had so much more feedback about all the 2D stuff that everybody uses. It's here now, and we hope to be able to do more in the future.

Now I guess this is the moment you've all been waiting for. I did say I would be showing some demos of this actually, because if you look at a static graph in 3D, it really is hard to understand what you're looking at. Let me just switch over to JMP Live itself. We got JMP Live in full screen mode here.

Just to show you a comparison of 3D shown on a flat screen using the contour plot where color is used on the left here for this data set is the little pond. We're really basically just showing the depth at different places in the pond, with red being the shallow areas and the blue being used for the very deep. You can get an idea of that pretty much okay with the contour.

Looking at the scatterplot when it's still you don't really get much idea of what the depth is here, but once you start rotating this around and this is on the web... It may actually be a little choppy because of the video that's recording here, but when you try this, it'll be nice and smooth.

You can see even the dips and swells and stuff like that of the bottom of the pond when you rotate it around. This really gives you, I think even better depth perception here than with the colors in the contour plot, but I'm biased. This isn't a really fancy example, but I just wanted to show you that even in 3D jittering is a thing that you might want to do if you don't jitter the points on the left. Here, for example, you see that all the points are lined up on the female, and if I rotate around to look straight down the male plane, the points all line up, and they cover each other, blocks them. That occlusion stuff.

If you want it to look good right away out of the box when you publish, you might want to jitter these points, which just means moving them left and right of that plane. On the right-hand side, you can see how those points are jittered around the female plane and the male plane so that they never block each other, or they will at a certain angle, but not when you're looking at it head on.

Getting back to the iris data set, as I mentioned, this is flowers of different species. Here I wanted to show that with this plot, as well as other plots we like to show with JMP is really good at, and that's selection reflection between graphs.

Here as I select on the bivariate graph in this dashboard, you can see that the points are highlighted in the 3D view. Tea house, summer blue and summer green. They're highlighted the same ones that are highlighted in the 2D view, and also the same ones that are highlighted in the distribution down here. Likewise, if I click on the distribution, you'll see the points highlighted in the 3D graph.

Again I think I mentioned this, but the colors that you're seeing come from the data table. It's for each different species. I believe there's 150 rows in that data set, so that's what you're seeing here. This is a bit of a test sample just to show what happens when you choose different marker shapes. There are 32 built in marker shapes shown here.

What's special about 3D rendering of marker shapes is that when you rotate the view, you want them to continue to face the front. They're always easy to look at and things that point up. For example, you want them to continue pointing up. If you look at this arrow here pointing up, if we were to rotate upside down, it's still going to be pointing up relative to you as the viewer. That's important when you're looking at things where the marker shapes really matter.

This is the diamonds' data set, which I think many of you might already have seen in other demos. It's one of our standard samples. I like to use this one for this particular example, because I'm showing that the marker shapes here are drawn based on the color variable.

What I needed to do to prepare this sample was take that data set. For the color variable, which are encoded with letters D, E, F all the way through K, and they represent like a bright white clear diamond is D and a little bit brownish color would be all the way at K. Of course, I've exaggerated that just so you can see the difference between them in the plot, and you can see that these letters are showing up when plotting here all the four C's clarity, carat, weight and cut and color, which is encoded in the color and also in the shape. There you have a bunch of characters being displayed instead of diamond shapes or points or circles.

This is a larger data set. It's about 29,000 rows, and it's showing a lot of data too. It's the airline delays of multiple airlines. This is for every day of the year basically. They're colored by day of the week. You see on the lower two axes I got month versus day of month. You can see all these points.

One of the points of doing such complicated graph like this was to show that the speed and as I said, it may not be smooth with the video encoding in your playback, but it is quite smooth even on the web, where things tend to go a little bit slower than on desktop displays. That's because the web technology for rendering 3D is pretty strong.

I would like to zoom in, and one web standard is to use the scroll wheel to zoom in. We've implemented that for 3D scatterplot, and you can see that there's transparency on these points.

I have another sample with the airline delays. This one, the points are actually sized by the delay variable. The longer the delay of the flight or the average for that day the bigger the sphere. I showed you spheres before, but not this many. This is quite a few spheres. As I rotate it around, it's nice and smooth.

While I zoom in, you'll see how complicated those spheres are. They actually are split up in a whole bunch of tiny little triangles so that they'll look nice and smooth, and they've got lighting effects and the shading that I talked about earlier to make them look three-dimensional. If you're not familiar with the Titanic passengers' data set, which is a sample talks about what happened, whether people survived or not.

In this example, I'm coloring whether they survived. I am using the size based on the fare they paid to get on the ship. I've also tweaked the background colors just so you can see how maybe that would be helpful to view the data. Just like the others, this moves pretty fast. I can't remember how many people. I believe it's more than a thousand anyway. There's a lot of points in there

They're all sized and they're spheres. What I really want to show with these side by side comparison is that I did say if you zoom on the axis or pan the axis, that we would respect that, and that's what I've done here on the right-hand side. It's after zooming in on the passengers to show only passenger class one and two, and then on the age variable to show somewhere around 20–50, only not all the different ages.

You can zoom in on that area, and you can see something that I talked about earlier, is being able to clip the points at the edge of the scene. I'm going to zoom in, so you can see what that looks like at the edge. First of all, you don't see points that are completely out of this data grid because they are clipped. There are some that are kind of right at the edge. If I zoom in closer, you'll see that, yeah, they are actually clipped right through the sphere, because that sphere is right on the edge of the data set that we're currently showing. That is not an easy thing to do, but the web technology does make that possible.

Back to the diamonds data set. Now this example is to show that the 3D plot will respond to the local data filter. A lot of people love this local data filter because it really helps you examine what's really in the data set. Let's say I just want to look at VS2. I can click on VS2 and that will show in the data set just the VS2 diamonds.

I should mention that the spheres here are because I've used a size role, which is the carat weight, and the coloring is based on the price. The darker greens are more expensive diamonds. Here's another feature I want to show is basically the ability to spin while you're looking at something. Now I can take a drink while I'm doing this and hands free.

Basically, something you can even do while it's spinning is if you want to continue to filter, you'll be able to see those points come in. There's also a continuous filter on the price here. Let's say I want to not spend $10,000 on a diamond. I just want to see what's available in the data set. I can go down to like 4000 something. If I want to spend over a thousand, maybe 2000, there are all diamonds that are in that range.

Of course, if you've got the ability to spin, you really need the ability to stop spinning. We also have added in the ability to reset the view or do a front view. JMP, I believe you have some keystrokes to be able to get to that, but we have a diverse audience that may not know JMP. I wanted to put that on the menu just to make it easier to get to those items.

Now, I mentioned light sources and you can have colored light sources. I did this back in December, and we don't get a lot of snow here, but I'm from a place where we did get a lot of snow. If you had nice lights, now here, a red light on the left, a green light on the right, and a blue light shining up from the bottom. This is what it would look like in three dimensions. This is just three very large points to look like a snowman.

This is an example that I found on the JMP user community from Craig Hales. Craig Hales is the developer who added 3D capability this 3D scatterplot to JMP many years ago. This example is to show like a hollow structure, how you could look inside this hollow structure using a local data filter. I thought that was a really good use case.

As I change the local data filter, you can see that there's a hollow structure here. Again, I think I want to just go and start spinning about why. You can see inside. Another thing you can do is if you want to slice data, you can do that with a local data filter as well just by bringing the two controls close together. Then, if you want to inspect it, let's stop spinning. I can go in and inspect. I can zoom in with the scroll wheel, and you can see what that structure looks like.

Now I'd like to finish up with an example that I think is really great for showing what 3D is good for. Like I said, if you've got real 3D data, it makes sense to use a 3D plot. This is the case here. I got this also from the JMP user community when Peter Polito wrote a blog about add-in called the well trace add-in.

Actually in the comments here. I do have a plugin to that. Whenever you get access to this, I intend to put it up on JMP Public to make it available, and you'll see that link to his blog.

Basically what he did was he was working on an oil rig, and he's one of our systems engineers. Basically he wanted to show this capability and JMP by creating an add-in that would actually calculate the path that is used by a tool that goes down the hole after they drilled and inspects to see if they hit the right depth that they were planning to hit.

One thing I learned from his blog was that these oil well drilling holes don't typically go straight down. This one really curves around, and this is underneath the seabed. I was surprised to see that and learn that. I colored the the the background kind of like what I think the bottom of the seabed might look like that kind of makes these colors stand out as well.

What I did was I plotted the difference in the depth from what they expected in the color roll and also in the size of the these markers or these points where the data was taken. If you zoom in around 2000, you can see that there was a difference there. Down over here, I guess around 9,000 approximately below the seabed is where they also had another place where there was a difference. I really want to thank Peter for that example because this is what a very good case of where you'd want to use a scatterplot 3D. That's it for the demo.

Let me just transfer back to my slideshow. [inaudible 00:32:04] slideshow. Maybe I got to do that. Over to the next slide. It's your questions. Typically, when you're in an audience, you ask for questions. In this case its recorded. Just please leave your questions in the comments or contact JMP technical support.

As I said, if you have features you wish to get, you can also add them to the wish list. I do have a question for you, or at least a plea is that. Please let us know if you would like us to support another 3D plot like the 3D surface plot on JMP Live, or would you prefer if we added more functionality to scatterplot 3D? I did leave out a lot of capability, and if that's important to you, we would be happy to try to implement that in a future version. That concludes my slides and my presentation. Thank you for watching.

Presented At Discovery Summit 2025

Presenter

Skill level

Beginner
  • Beginner
  • Intermediate
  • Advanced

Files

Published on ‎07-09-2025 08:58 AM by Community Manager Community Manager | Updated on ‎11-05-2025 01:51 PM

The Scatterplot 3D platform in JMP has long been a powerful tool for visualizing complex data relationships in a three-dimensional space. This feature allows users to explore variations and correlations among multiple variables, providing deeper insights into their data. It applies advanced computer graphics technology used in the video games industry, which is thriving in Austin. Known as the "Silicon Hills," Austin is a fitting venue to introduce JMP Live’s entry into the third dimension with JMP 19 by applying web-based video game technology to support interactive and animated Scatterplot 3D platforms on JMP Live.

Initially, JMP’s Interactive HTML team focused on supporting more basic platforms on the web to meet the needs of the majority of JMP’s user population. With over 12 years of advancements in interactive HTML, these foundational platforms are now well-supported, allowing us to address the specific needs of users who rely on Scatterplot 3D and want to share this interactive content on the web. This significant effort paves the way for sharing more interactive three-dimensional content from JMP on the web in future versions.

This presentation highlights the significance of the Scatterplot 3D platform in JMP, showcasing its capabilities and the value it brings to data analysis. Through several examples, we demonstrate how the Scatterplot 3D platform can now be shared, fully interactive on the web and in JMP Live, enhancing accessibility and usability for a broader audience.

 JMP 19 Scatterplot 3D Examples | JMP Public

 

 

Hi, I'm John Powell. I'm a software development manager in the JMP team. I'm going to talk about how JMP is entering into a new dimension. By that I don't mean that we are adding more variables. We've been able to do that for a while with bubble plot and scatter plot matrix and profilers that can do multiple dimensions. I'll get right into it.

What I am going to talk about, though, is this third dimension. What I mean by that is the technology we're using to draw certain things instead of just two-dimensional objects we're drawing in three dimensions. The trick to that is how to make something look three-dimensional on a flat screen.

To get depth perception on the flat screen, you basically look at how people perceive things in the real world and in the real world. If you look at something like a piece of paper, it's just flat pictures on the paper. In a room you've got three dimensions. You've got forward, backward, up, down, left and right. If you look at objects in your room, you're going to see that they've got shading on them depending on where the light is. That's one way to trick people into believing something on a flat screen is actually three-dimensional.

Another thing you do is when you're looking at objects that are close to you, they look a lot bigger than things that are further away. That's one way we can make things look three-dimensional on a flat screen. This occlusion, where this fancy way of just saying this object is closer to you. It's going to block the objects behind that. We'll do that. All of these things and more in the 3D world to make you believe that you're looking at a 3D object when you're in one of our 3D plots.

The one I'm going to talk about primarily is the 3D scatter plot or scatterplot 3D platform in JMP. Here's an example of that in JMP. This is what it looks like basically with the iris example which is the iris flowers. There are three different species of flowers and they're shown in different colors. That's encoded in the data table itself.

What I'm showing here on the bottom is sepal width and sepal length. On the vertical is the petal length. You can see all these spheres in the 3D realm. They look kind of flat. Once you start moving it around you'll see that it really is 3D. How do you get to that in JMP?

You go to the graph menu and there's scatterplot 3D, and you get a lunch dialog that looks like this. Basically you throw three y columns in. Those are the ones that I use for that particular example. Then you hit okay. If you publish the JMP Live it's going to look the same. The goal is to get it to look the same in JMP and to make it interactive. I can't show you that on a slide, but I'll show you that later. Let me get back up a little bit and say, well, what is the scatterplot 3D? What is it good for?

It's really great for demoing data that really has a real world concept like front, back, left, right, up and down, having depth in it. Not all data is like that. You've got abstract data as well. That will be good to look at in three-dimensions. In three-dimensions you can find patterns that are not visible on planes aligned with any of the axes.

Here's an example. You can see that when you look straight on down the x-axis, you don't really see any pattern, but if you were to rotate it around looking from this specific angle on the right image, you'll see that they're kind of aligned along a plane which is not aligned with any axis.

The other thing you can find in 3D pretty easily is as you're rotating around, you'll notice clusters that may not be visible when you're looking straight on. What else is it good for? If you're comparing 2D plots, but you want to compare multiple 2D plots, they could be across time.

If you look at the bottom axis on the left, it's time. You can see 3D plots progressing over time from back to front. These could be rather than time, it could be different production sites where you have 2D plots you want to examine.

Here's another example where maybe you've got a bunch of measures across a 2D grid of points X and Y is the grid, and measure is the measurement you're taking across that grid. You can see to the right-hand side. There's a bunch of points that go up really high in the measure, and the rest are pretty low down. You can see that when you're looking at 3D.

The question is why now? What took us so long to get to implementing this for the web? I will get right into that. Why did we wait until now to support it? Basically, it's kind of a long story, and it will be a run-on sentence here just warning you. Our approach has always been to prioritize support for features used often by most users. We want to give you the most amount of functionality earliest as possible.

Scatterplot 3D is among a few features not commonly used by all JMP users, but cater to just specific segments of JMP users. To adopt the culture of statistics throughout the company, JMP Live needs to support interactive reports that appeal to a diverse workforce, not just engineering scientists, but marketing, finance, etc.

Some JMP Live users will have different visualization expectations than science and engineering departments. We have already supported most of the features used often by most users. We've added support for scatterplot 3D and several other features that are used by some of our users some of the time like multiple response data in histograms and local data filters.

Statistical process control, which involves process screening, control charts warnings triage, and environmental monitoring. We've added many new profilers, especially in the reliability platforms. Red triangle menus that are only available on JMP Live to bring JMP Live users more control over what they're looking at.

Also supported graphs and tooltips, commonly known as graphlets in JMP, and word cloud, which is used for text processing, and pie charts. Everybody loves pie charts. Not necessarily statisticians, but very popular in business. With JMP Live you're sharing that with everybody across the business. Some people love their pie charts and many other improvements that I won't go through now.

I did want to say that this isn't the only thing we did in this version. Many other things, and it's the time to do those other things too, because we have a more diverse audience with JMP Live, and we want to appeal to them as well.

With this new release, please look for videos, blogs, and live demonstrations of all these features and try them yourself. That's the end of this commercial little sidestep from scatterplot 3D. Now getting back to it.

I want to make sure you understand all the features of this scatterplot 3D platform. It's a little bit more than just visualizing three or more variables, and there's lots of features, and they're spread across multiple user interfaces. I'm going to cover those in depth starting with the different ways you can customize and control scatterplot 3D since it's offered in multiple places and JMPs user interface.

We'll start off with the launch dialog, which I showed you before, but I didn't get into much detail. Besides the three Y columns in 3D space, you can actually add a weight which controls the size of those spheres, frequency and coloring. Coloring that I showed before came from the table. It can also come from a variable, like if I threw species in there, and it wasn't colored by that in the table, it would be colored by species. Or you could even throw in a continuous variable, and it would color based on that.

Next up of course we have a red triangle menu options, and there are plenty of them in the scatterplot 3D platform on JMP. One that allows you to drop down lines from the points in the graph, a way to connect the points in the graph, and way to show normal contour ellipsoids around clusters in the graph, and to do the nonpar density contours in the graph as well, and principal components. There are a few other things, but I won't go over every single one of them.

Next you have a right click menu. When you're looking at a 3D graph, and you right-click, you'll get this menu popped up. If you had a color role, you get to decide whether you want to show the legend or not. Then there's reset that'll reset settings. Settings dialog which I'll show you next. Highlights border. That's if you have light sources being shown and all that. Then wall and background color that can make your graph look a little bit prettier. Or make the data stand out more if you want.

Finally, there's a hardware acceleration option in JMP, and that is off by default. If you turn it on, your performance will improve. Then a couple of other features I'll let you try for yourself. There you saw the settings. From the control click menu or right click menu. This is what it looks like.

It allows you to enable or disable the walls, the axes, the grids, and the box. The box is just a box, that thin line box that's drawn around all the graphic area. Now, camera controls are something that you need in 3D, because you need to be able to zoom in and show different perspective and rotate and so on. That's important too.

Now with markers, you're allowed to specify many things about the markers, which is the marker size, the quality of it which changes how it's drawn, and then transparency that lets you see through the points to data behind it. Then there's text size and line width. Text size is for the axis labels and line width is for the grids that you'll see.

I mentioned you can set certain things in the data table itself, like the marker shapes, the triangle marker shapes here, the red and green. The color is embedded there as well, and that little mask looking thing is the visibility.

There's also exclude that I did not show here, but it can be set in the data table and represented in the 3D graph labels can be turned on in a row. Individual row label. That's what the yellow tag looks like there. It means that when you show the point, you're going to show a label next to it. It's labeled by the species in this case.

Of course, you have to be able to rotate around. That makes 3D look so much better and helps you understand what's going on so much better. I'll show you very soon. You have to be able to rotate the view. You need to be able to zoom in and pan on the axes. That really helps if you're trying to focus in on something.

Of course, there's the file menu that allows you to export to interactive HTML, to get interactive 3D plots on the web, or publish to JMP Live, where you also get to see 3D plots on the web. There are a bunch of static image exports as well, but they don't help very much with 3D graphs.

This is our first step into the third dimension. As I said, we're entering into this dimension. It's a really complicated one because the rendering techniques are completely different. Given that we had to limit the scope of what we would do with scatterplot 3D and here are some of the things. Just to get started, we needed to set up the ability to have coordinates in three different systems, three different axes.

These camera controls that are so important to being able to look around in the scene and rotate the view. On the desktop we use the mouse on a mobile. Since we support mobile, you're going to do swipe and pinch as you would expect on a mobile device.

Now, something you don't have to do too much in 2D is clipping things at the edge of the window. That just happens automatically, because when you draw on a window, anything that you draw outside the window just isn't shown. In 3D, since you can rotate around things that are outside the 3D scene, as I call it need to be clipped at the edge of it. Otherwise, as you rotate around, those things will be showing still, and we don't want that.

We also have to hide the walls and the grid lines as it rotates around, so they don't block the data as you rotate around it. That's really important, but a difficult thing to do. Collision visibility of the background, walls, axis and grid and box just to match what JMPs capabilities are. That was a rather trivial thing to do once you're able to draw them, just setting the visibility and colors, that's a trivial thing, so we did that.

As I mentioned, they have a lot of different capabilities and different ways you can decide how to draw them. They're complicated enough with size, color, shape, and transparency. We support all these options of just points, but we don't provide a way to change them in the browser, at least not yet.

Hardware acceleration. There isn't really a setting for that because in the browser, if your browser supports three-dimensional graphics and most do today, then it will automatically be hardware accelerated, and you wouldn't really want to turn it off because it would just go slower.

Now here is actually unfortunately one of the larger parts is what we didn't support on JMP Live, but we would like to have this prioritized for future additions in JMPs. That comes from getting input from your from you on what you'd like to see. Here are the things in the red right triangle menu like drop lines, connecting points, and principal components, surfaces such as ellipsoids and contours. It's not supported and even row labels in the table that's a little bit complicated to write full text within the point scene.

Zooming on the axes is not supported. If you zoomed in on the axes or panned around before you exported or published to JMP Live, we will support that. Tooltips and selection actually didn't make it into this release, but we are expecting to be able to support at least tooltips in the maintenance release.

What happens when a feature is not supported? This isn't any different than our 2D graphs where we have features we didn't support yet. A screenshot will replace the plot, in this case the interactive 3D plot, and there will be a message added to the log of JMP indicating which unsupported feature is being used, so you can use that to call up tech support and say, I really want this feature to be supported, and it's got the name of it written right there in the log, so you'll be able to ask for it easily, or you can use the wish list as well.

We do encourage you to request those features. As I said before, we prioritize based on your feedback. That is one of the reasons it took so long to do 3D. We had so much more feedback about all the 2D stuff that everybody uses. It's here now, and we hope to be able to do more in the future.

Now I guess this is the moment you've all been waiting for. I did say I would be showing some demos of this actually, because if you look at a static graph in 3D, it really is hard to understand what you're looking at. Let me just switch over to JMP Live itself. We got JMP Live in full screen mode here.

Just to show you a comparison of 3D shown on a flat screen using the contour plot where color is used on the left here for this data set is the little pond. We're really basically just showing the depth at different places in the pond, with red being the shallow areas and the blue being used for the very deep. You can get an idea of that pretty much okay with the contour.

Looking at the scatterplot when it's still you don't really get much idea of what the depth is here, but once you start rotating this around and this is on the web... It may actually be a little choppy because of the video that's recording here, but when you try this, it'll be nice and smooth.

You can see even the dips and swells and stuff like that of the bottom of the pond when you rotate it around. This really gives you, I think even better depth perception here than with the colors in the contour plot, but I'm biased. This isn't a really fancy example, but I just wanted to show you that even in 3D jittering is a thing that you might want to do if you don't jitter the points on the left. Here, for example, you see that all the points are lined up on the female, and if I rotate around to look straight down the male plane, the points all line up, and they cover each other, blocks them. That occlusion stuff.

If you want it to look good right away out of the box when you publish, you might want to jitter these points, which just means moving them left and right of that plane. On the right-hand side, you can see how those points are jittered around the female plane and the male plane so that they never block each other, or they will at a certain angle, but not when you're looking at it head on.

Getting back to the iris data set, as I mentioned, this is flowers of different species. Here I wanted to show that with this plot, as well as other plots we like to show with JMP is really good at, and that's selection reflection between graphs.

Here as I select on the bivariate graph in this dashboard, you can see that the points are highlighted in the 3D view. Tea house, summer blue and summer green. They're highlighted the same ones that are highlighted in the 2D view, and also the same ones that are highlighted in the distribution down here. Likewise, if I click on the distribution, you'll see the points highlighted in the 3D graph.

Again I think I mentioned this, but the colors that you're seeing come from the data table. It's for each different species. I believe there's 150 rows in that data set, so that's what you're seeing here. This is a bit of a test sample just to show what happens when you choose different marker shapes. There are 32 built in marker shapes shown here.

What's special about 3D rendering of marker shapes is that when you rotate the view, you want them to continue to face the front. They're always easy to look at and things that point up. For example, you want them to continue pointing up. If you look at this arrow here pointing up, if we were to rotate upside down, it's still going to be pointing up relative to you as the viewer. That's important when you're looking at things where the marker shapes really matter.

This is the diamonds' data set, which I think many of you might already have seen in other demos. It's one of our standard samples. I like to use this one for this particular example, because I'm showing that the marker shapes here are drawn based on the color variable.

What I needed to do to prepare this sample was take that data set. For the color variable, which are encoded with letters D, E, F all the way through K, and they represent like a bright white clear diamond is D and a little bit brownish color would be all the way at K. Of course, I've exaggerated that just so you can see the difference between them in the plot, and you can see that these letters are showing up when plotting here all the four C's clarity, carat, weight and cut and color, which is encoded in the color and also in the shape. There you have a bunch of characters being displayed instead of diamond shapes or points or circles.

This is a larger data set. It's about 29,000 rows, and it's showing a lot of data too. It's the airline delays of multiple airlines. This is for every day of the year basically. They're colored by day of the week. You see on the lower two axes I got month versus day of month. You can see all these points.

One of the points of doing such complicated graph like this was to show that the speed and as I said, it may not be smooth with the video encoding in your playback, but it is quite smooth even on the web, where things tend to go a little bit slower than on desktop displays. That's because the web technology for rendering 3D is pretty strong.

I would like to zoom in, and one web standard is to use the scroll wheel to zoom in. We've implemented that for 3D scatterplot, and you can see that there's transparency on these points.

I have another sample with the airline delays. This one, the points are actually sized by the delay variable. The longer the delay of the flight or the average for that day the bigger the sphere. I showed you spheres before, but not this many. This is quite a few spheres. As I rotate it around, it's nice and smooth.

While I zoom in, you'll see how complicated those spheres are. They actually are split up in a whole bunch of tiny little triangles so that they'll look nice and smooth, and they've got lighting effects and the shading that I talked about earlier to make them look three-dimensional. If you're not familiar with the Titanic passengers' data set, which is a sample talks about what happened, whether people survived or not.

In this example, I'm coloring whether they survived. I am using the size based on the fare they paid to get on the ship. I've also tweaked the background colors just so you can see how maybe that would be helpful to view the data. Just like the others, this moves pretty fast. I can't remember how many people. I believe it's more than a thousand anyway. There's a lot of points in there

They're all sized and they're spheres. What I really want to show with these side by side comparison is that I did say if you zoom on the axis or pan the axis, that we would respect that, and that's what I've done here on the right-hand side. It's after zooming in on the passengers to show only passenger class one and two, and then on the age variable to show somewhere around 20–50, only not all the different ages.

You can zoom in on that area, and you can see something that I talked about earlier, is being able to clip the points at the edge of the scene. I'm going to zoom in, so you can see what that looks like at the edge. First of all, you don't see points that are completely out of this data grid because they are clipped. There are some that are kind of right at the edge. If I zoom in closer, you'll see that, yeah, they are actually clipped right through the sphere, because that sphere is right on the edge of the data set that we're currently showing. That is not an easy thing to do, but the web technology does make that possible.

Back to the diamonds data set. Now this example is to show that the 3D plot will respond to the local data filter. A lot of people love this local data filter because it really helps you examine what's really in the data set. Let's say I just want to look at VS2. I can click on VS2 and that will show in the data set just the VS2 diamonds.

I should mention that the spheres here are because I've used a size role, which is the carat weight, and the coloring is based on the price. The darker greens are more expensive diamonds. Here's another feature I want to show is basically the ability to spin while you're looking at something. Now I can take a drink while I'm doing this and hands free.

Basically, something you can even do while it's spinning is if you want to continue to filter, you'll be able to see those points come in. There's also a continuous filter on the price here. Let's say I want to not spend $10,000 on a diamond. I just want to see what's available in the data set. I can go down to like 4000 something. If I want to spend over a thousand, maybe 2000, there are all diamonds that are in that range.

Of course, if you've got the ability to spin, you really need the ability to stop spinning. We also have added in the ability to reset the view or do a front view. JMP, I believe you have some keystrokes to be able to get to that, but we have a diverse audience that may not know JMP. I wanted to put that on the menu just to make it easier to get to those items.

Now, I mentioned light sources and you can have colored light sources. I did this back in December, and we don't get a lot of snow here, but I'm from a place where we did get a lot of snow. If you had nice lights, now here, a red light on the left, a green light on the right, and a blue light shining up from the bottom. This is what it would look like in three dimensions. This is just three very large points to look like a snowman.

This is an example that I found on the JMP user community from Craig Hales. Craig Hales is the developer who added 3D capability this 3D scatterplot to JMP many years ago. This example is to show like a hollow structure, how you could look inside this hollow structure using a local data filter. I thought that was a really good use case.

As I change the local data filter, you can see that there's a hollow structure here. Again, I think I want to just go and start spinning about why. You can see inside. Another thing you can do is if you want to slice data, you can do that with a local data filter as well just by bringing the two controls close together. Then, if you want to inspect it, let's stop spinning. I can go in and inspect. I can zoom in with the scroll wheel, and you can see what that structure looks like.

Now I'd like to finish up with an example that I think is really great for showing what 3D is good for. Like I said, if you've got real 3D data, it makes sense to use a 3D plot. This is the case here. I got this also from the JMP user community when Peter Polito wrote a blog about add-in called the well trace add-in.

Actually in the comments here. I do have a plugin to that. Whenever you get access to this, I intend to put it up on JMP Public to make it available, and you'll see that link to his blog.

Basically what he did was he was working on an oil rig, and he's one of our systems engineers. Basically he wanted to show this capability and JMP by creating an add-in that would actually calculate the path that is used by a tool that goes down the hole after they drilled and inspects to see if they hit the right depth that they were planning to hit.

One thing I learned from his blog was that these oil well drilling holes don't typically go straight down. This one really curves around, and this is underneath the seabed. I was surprised to see that and learn that. I colored the the the background kind of like what I think the bottom of the seabed might look like that kind of makes these colors stand out as well.

What I did was I plotted the difference in the depth from what they expected in the color roll and also in the size of the these markers or these points where the data was taken. If you zoom in around 2000, you can see that there was a difference there. Down over here, I guess around 9,000 approximately below the seabed is where they also had another place where there was a difference. I really want to thank Peter for that example because this is what a very good case of where you'd want to use a scatterplot 3D. That's it for the demo.

Let me just transfer back to my slideshow. [inaudible 00:32:04] slideshow. Maybe I got to do that. Over to the next slide. It's your questions. Typically, when you're in an audience, you ask for questions. In this case its recorded. Just please leave your questions in the comments or contact JMP technical support.

As I said, if you have features you wish to get, you can also add them to the wish list. I do have a question for you, or at least a plea is that. Please let us know if you would like us to support another 3D plot like the 3D surface plot on JMP Live, or would you prefer if we added more functionality to scatterplot 3D? I did leave out a lot of capability, and if that's important to you, we would be happy to try to implement that in a future version. That concludes my slides and my presentation. Thank you for watching.



Start:
Sun, Jun 1, 2025 09:00 AM EDT
End:
Sun, Jun 1, 2025 10:00 AM EDT
Attachments
0 Kudos