Subscribe Bookmark RSS Feed

Graph builder and custom maps

mewing

Community Trekker

Joined:

Jun 23, 2011

I don't know how much experience is out there with custom maps, but I've got a doozy of a scenario and I don't know where the fault lies.

I have made a custom map of a reactor that we use here and the purpose is to track results spatially within the reactor. We ran a designed experiment, 2^2 + CP plus one semi-face centered point and one point that was just way out there, so, there's a total of 7 points in the design.

In graph builder, when I specify the custom map in the shape it brings up the outline. I can then color the shapes with a response, but when I put the two factors in on the x and y axis I get a bunch of empty graphs (20 empty squares to be exact, 4x5).

If I exclude the data from the semi-face centered and the way out there points, reducing it to a simple 2^2 + CP and I do the exact same thing in graph builder, I get 9 squares with five of them filled with the custom map and coloring.

Why does it do what I want with some of the data, but not all of it? I've tried changing the factors from continuous to nominal to ordinal - no change. I'm lost here and it's bumming me out because I really want to show off the power of custom maps to my group.

Thanks!
8 REPLIES
This may or may not be of any help, as I'm still learning about custom maps (this is in JMP 9 btw) myself, but when what I'm trying to plot starts getting complicated I've found myself moving away from the graph builder in favour of scripts to get the effects I want. The main reason for that is that I want to use the resulting map as part of a larger dashboard of my own that doesn't include the controls that are supplied automatically in the window if the graph builder is used. The structure I end up with looks something like the following, in which I've selected the map I want to use (in this case the US states, but obviously you'd substitute your reactor map here), some background image that I've drawn within the same axis limits, and a mouse trap to make the chart interactive. (One thing I want to know myself: in the following script, if you comment out the mouse trap you'll find that it's possible to drag the background image separately from the background map. I'd like to lock the two together so that can't be done. Does anyone know if that's possible?)


style="font-size: 9pt; font-family: "Courier New"; color: black;">
style=""> 





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style=""> 





style="font-size: 9pt; font-family: "Courier New"; color: black;">X0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">=

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">Y0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">=

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: green;">//
Initial coordinates somewhere
off the map;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">

 





style="font-size: 9pt; font-family: "Courier New"; color: black;">gb

style="font-size: 9pt; font-family: "Courier New"; color: navy;">=

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Graph
Box

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      
Frame
Size(

style="font-size: 9pt; font-family: "Courier New"; color: teal;">800

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">500

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">X
Scale

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: navy;">-

style="font-size: 9pt; font-family: "Courier New"; color: teal;">125

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: navy;">-

style="font-size: 9pt; font-family: "Courier New"; color: teal;">65

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Y
Scale

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">25

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">50

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      




style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      

style=""> 

style="font-size: 9pt; font-family: "Courier New"; color: navy;"><<

style="font-size: 9pt; font-family: "Courier New"; color: black;">
Background Map(
Boundaries(

style="font-size: 9pt; font-family: "Courier New"; color: purple;">"US
States"

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      




style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      

style=""> 

style="font-size: 9pt; font-family: "Courier New"; color: navy;"><<

style="font-size: 9pt; font-family: "Courier New"; color: black;">
Add Image(





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Open

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: purple;">"c:\MyBackgroundImage.jpg"

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             
Bounds(

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Left

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: navy;">-

style="font-size: 9pt; font-family: "Courier New"; color: teal;">125

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Right

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: navy;">-

style="font-size: 9pt; font-family: "Courier New"; color: teal;">65

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">
Bottom(

style="font-size: 9pt; font-family: "Courier New"; color: teal;">25

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">
Top(

style="font-size: 9pt; font-family: "Courier New"; color: teal;">50

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Transparency

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">1.0

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             




style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Mousetrap

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             
X0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">=

style="font-size: 9pt; font-family: "Courier New"; color: black;">
x

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             
Y0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">=

style="font-size: 9pt; font-family: "Courier New"; color: black;">
y

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      




style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Text

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             
Center
Justified

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             
{X0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">
Y0}

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">             

style="font-size: 9pt; font-family: "Courier New"; color: purple;">"You
just
clicked at "

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: navy;">||

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Char

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">
X0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">10

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">0

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">||

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: purple;">",
"

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: navy;">||

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Char

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">
Y0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">10

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">0

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)





style="font-size: 9pt; font-family: "Courier New"; color: black;">
style="">      
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: green;">//
style="">    
More
script in here to add some data to the map, color it or whatever;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">

 





style="font-size: 9pt; font-family: "Courier New"; color: black;">tb

style="font-size: 9pt; font-family: "Courier New"; color: navy;">=

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Text
Box

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: purple;">"Slider
to
do something: "

style="font-size: 9pt; font-family: "Courier New"; color: black;">
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">nw

style="font-size: 9pt; font-family: "Courier New"; color: navy;">=

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">New
Window

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: purple;">"My
Window"

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">
gb

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">H
List Box

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">
tb

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: rgb(0, 0, 221);">Slider
Box

style="font-size: 9pt; font-family: "Courier New"; color: black;">(

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">0

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">

style="font-size: 9pt; font-family: "Courier New"; color: teal;">1

style="font-size: 9pt; font-family: "Courier New"; color: navy;">,

style="font-size: 9pt; font-family: "Courier New"; color: black;">
X )
)
)

style="font-size: 9pt; font-family: "Courier New"; color: navy;">;

style="font-size: 9pt; font-family: "Courier New"; color: black;">





style="font-size: 9pt; font-family: "Courier New"; color: black;">

 





style="font-size: 9pt; line-height: 115%; font-family: "Courier New"; color: green;">//
End of program

mewing

Community Trekker

Joined:

Jun 23, 2011

David, I appreciate your reply, but I'm not the one who will be using this on a regular basis - my coworkers really wanted to see Graph Builder shine in this respect and I'm a little disappointed it's not flawless. I may ask JMP itself if there's an explanation for it.
XanGregg

Staff

Joined:

Jun 23, 2011

Mewing, I don't completely follow what you're trying to do. Sounds like you're putting two factors in the Group X and Group Y roles, which is giving you the 20 or 9 graphs. Are you trying to get multiple graphs (just not empty ones)?

If a graph is empty, it should mean there is no data for that combination of X and Y. You can right-click a graph and select Show Missing Shapes, which will show an outline of each shape even if there is no data for it.
mewing

Community Trekker

Joined:

Jun 23, 2011

I'm putting the two factors on the group X and group Y axis, yes.

When my data is reduced so that there are only three levels of X and three levels of Y graph builder displays 9 boxes, five of which have the custom map in them. This is how it should be.

In fact, as I just figured out, if I remove the point that's really out there (leaving me with 4 and 3 levels respectively), I get 12 cells, 6 of which have something in them. This is also as it should be.

However, when I use the full data set, so that there are 5 and 4 levels respectively it suddenly has nothing but 20 empty cells. There should only be 7 of them that have something in them, but they are all empty. Even if I resize the graph portion that would be holding it - it doesn't work.

I want to know why it behaves the way it does when there are 5 and 4 factors.

Also - I tried right clicking in the graph area and under Map Shapes >> Show Missing Shapes - still nothing appears. It acts like this on multiple computers, fyi.

Also, I don't know if this matters, but I'm not fully updated, I'm at 9.0.1 not 9.0.2

Message was edited by: mewing
XanGregg

Staff

Joined:

Jun 23, 2011

Is your data set small and public enough to share? I should be able to see the problem even without your shape files by recoding your shape variable with US State names. You can post a text version of the data table here, or somewhere else and give me the URL. Or email to xan.gregg@jmp.com.
mewing

Community Trekker

Joined:

Jun 23, 2011

I will email you the script to create the table - it's not terribly huge, but it doesn't seem like a good use of forum space to post it here.
XanGregg

Staff

Joined:

Jun 23, 2011

I haven't investigated fully, but it seems to be a JMP fault where if the first graph is correctly empty, all the others will also be empty (incorrectly). As a work-around, you might try reordering your groups or adding a dummy entry for the first graph.
mewing

Community Trekker

Joined:

Jun 23, 2011

Just to let you know that reordering the factor I put as the Y groups so they were in reverse order (resulting in the first box being filled) fixed the issue. Thank you very much for your patience and help with getting this resolved!

Now I just need to make a script that quickly reverses the order of a column...