Subscribe Bookmark
XanGregg

Staff

Joined:

Jun 23, 2011

JMP graphics tip: Alphabetic markers

Someone recently asked me about using letters instead of built-in symbols in JMP scatterplots. In case others are wondering the same thing, here's the long answer.

In addition to the 32 built-in symbols, you can use any character as a marker for a scatterplot. The easiest way to set a letter as the symbol for a row is with the "Other..." item in the Marker submenu. Here's an example with Big Class. After selecting all males, right-click in the row-state area to get:

marker1.png

That brings up a dialog where you can type a letter.

marker2.png

Setting the male rows to "M" and the female rows to "F" yields:

marker3.png

And the scatterplot looks like:

marker4.png

Any character in the current Marker Font (set in Preferences) is allowed, so there is a wide variety of Unicode characters available, and you can change the font preference to a symbol font for even more specialty options. Special characters can be tricky to type from the keyboard, but you can usually find them in a Unicode table and paste them into the dialog.

You can also set them through scripting. Here's a scripting example that uses the Mars/Venus male/female symbols, showing two different techniques for specifying the character.

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );  

r = dt << Select Where( :sex == "M" );  

r << Markers( "\!U2642" ); // hexadecimal  

r = dt << Select Where( :sex == "F" );  

r << Markers( "♀" ); // actual character  

Data table:

marker5.png

Scatter plot:

marker6.png

1 Comment
Community Member

Colin Lewis wrote:

This is something that I've been doing for a while now, as it's really helpful to identify categories more directly. I haven't ventured into the more interesting characters available but tend to use the first letter of the testing laboratory. Since I do this a lot, I also want to store it in a row states column. For ease of reading I do this in two steps. The first is to just extract the first character as a letter into a new, character column. Then I create a row states column on this single letter:

dt << New Column("Lab Letter RS", Row State,

Formula(

Marker State(Hex To Number(Char To Hex(:Lab Letter)))

)

);

Hope this helps somebody out!

Thanks for the continued hints and tips...