Hallo,
Ich habe ein paar Skripte, die Diagramme generieren, die so aussehen:

Aber ich möchte, dass es immer so aussieht:

Wie kann ich das mit JSL machen?
Dies ist nur zu Ihrer Information, da es bei der Frage darum ging, Markierungen durch JSL zu ändern.
Eine häufige Anfrage besteht darin, eine spezielle Markierung basierend auf dem Zeilenwert oder der Bedingung einer anderen Spalte zu setzen. Das folgende Skript zeigt die Markierungen des erweiterten ASCII-Zeichensatzes und zwei Beispiele für spezielle Symbole, wie einen Stern oder ein Unendlichkeitszeichen, die die Funktion verwenden
Hex zu Zahl( „Hexcode“ ) . Führen Sie das Skript aus, es wird gewartet, dann werden die Markierungen für die Zeilen 4 und 5 geändert.
Names Default to Here(1);
Markers_dt = New Table( "Marker Codes",
Add Rows( 301 ),
New Column( "Marker Number", Numeric)
);
Markers_dt:Marker Number << Set Each Value(Row() -1);
For( i = 1, i <= N Row( Markers_dt ), i++,
Marker Of( Row State( i ) ) = i-1;// Markers_dt:Marker Number[i]
);
wait(2);
Row State(4) = Combine States(
Selected State(1), Hidden State(1),
Color State("Dark Blue Green"),
Marker State( Hex to Number("221E") ) //Hex for unicode infinity
);
Markers_dt:Marker Number[4] = Hex to Number("221E");
Marker Of(Row State(5))= Hex to Number("2606"); //Hex for star
Markers_dt:Marker Number[5] = Hex to Number("2606");
Sie können die Markierung auch im Diagramm festlegen, indem Sie mit der rechten Maustaste auf die Markierung in der Legende klicken und Markierung > + auswählen.Sie müssen dies für alle Markierungen tun.Klicken Sie dann auf das rote Dreieck und speichern Sie das Skript irgendwo.Es wird so aussehen:
dt = New Table( "Untitled", Add Rows( 11 ),
New Column( "X Value", Character, "Nominal",
Set Values(
{"02", "02", "02", "03", "03", "03", "04", "04", "05", "05", "05"}
)
),
New Column( "Y Value", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [100, 120, 130, 110, 105, 108, 200, 220, 201, 190, 195] )
)
);
dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :X Value ), Y( :Y Value ), Overlay( :X Value ) ),
Elements( Points( X, Y, Legend( 14 ), Jitter( "None" ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model(
14,
Properties( 0, {Marker( "Plus" )}, Item ID( "02", 1 ) ),
Properties( 1, {Marker( "Plus" )}, Item ID( "03", 1 ) ),
Properties( 2, {Marker( "Plus" )}, Item ID( "04", 1 ) ),
Properties( 3, {Marker( "Plus" )}, Item ID( "05", 1 ) ),
Properties( -1, {Marker( "Plus" )}, Item ID( "Y Value", 1 ) )
)}
)
)
);
Wenn Sie das Skript für Menschen lesbarer machen möchten, können Sie auch Namen wie Marker("Plus") verwenden.
Sie müssen JMP-Zeilenzustände verstehen. Sie sind von grundlegender Bedeutung für die Steuerung des Verhaltens von JMP-Plattformen. In diesem Fall müssen Sie den Status der Markierungszeile ändern. Der Standardmarkierungsstatus ist ein Punkt. Sie können interaktiv alle Zeilen auswählen, Zeilen > Markierung > „+“ auswählen und dann die Auswahl aller Zeilen aufheben. Zeilenstatusänderungen werden an alle Objekte weitergegeben („dynamische Verknüpfung“), sodass Sie den Zeilenstatus vor dem Start der Plattform nicht ändern müssen.
Es gibt Datentabellenmeldungen, die in einem Skript dasselbe bewirken:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :weight ), X( :height ) );
Wait( 2 );
dt << Select All Rows << Markers( 1 ) << Clear Select;