My first suggestion, is to change the Phase value of "Missing" to "_" which makes the spacing value not very noticeable..
The only thing that needs to be adjusted, to do this, is to use the column property "Value Order" to make sure that from an order of phase issue, that the "_" is in the correct place, between the "F" and "M" phases. Interactively this is easy to do, and the JSL to do it is:
dt:sex<<set property("value order",{Custom Order( {"F", "_", "M"} )});
Now you can delete the segment as you suggested, but in doing this, I found a less than concise solution.
If you look into the Tree Structure of the Display Tree for the Control Chart Builder, it indicates that there are 6 Text Segs for the Frame Box() that contains the "M", "_" and "F" values. And, it turns out that segment 5 is the "_". However, it turns out that directly deleting Text Seg(5) does not work. The only way that I could get it to work, was to delete the segments 1, 2 and 3, one at a time, which left 3 segments, and then I could delete Text Seg(2). My test cases on data tables with more Phases, added more seeming blank Text Segs. That be what it may, the JSL to delete the "_" in my example is:
m=report(ccb)[framebox(1)]<<find seg( text seg(1));m<<delete;
m=report(ccb)[framebox(1)]<<find seg( text seg(1));m<<delete;
m=report(ccb)[framebox(1)]<<find seg( text seg(1));m<<delete;
m=report(ccb)[framebox(1)]<<find seg( text seg(2));m<<delete;
And below is the complete JSL for the value ordering graphing and removing the "_"
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
dt << add rows(1);
dt:sex[nrows(dt)]="_";
dt:sex<<set property("value order",{Custom Order( {"F", "_", "M"} )});
ccb = Control Chart Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Show Capability( 0 ),
Variables( Y( :height ), Phase( :sex ) ),
SendToReport(
Dispatch(
{},
"Control Chart Builder",
FrameBox,
{DispatchSeg(
TextSeg( 4 ),
{Line Color( "None" ), Fill Color( "None" )}
), DispatchSeg(
TextSeg( 5 ),
{Line Color( "None" ), Fill Color( "None" )}
), DispatchSeg(
TextSeg( 6 ),
{Line Color( "None" ), Fill Color( "None" )}
)}
)
)
);
m=report(ccb)[framebox(1)]<<find seg( text seg(1));m<<delete;
m=report(ccb)[framebox(1)]<<find seg( text seg(1));m<<delete;
m=report(ccb)[framebox(1)]<<find seg( text seg(1));m<<delete;
m=report(ccb)[framebox(1)]<<find seg( text seg(2));m<<delete;
Jim