Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?Lo script seguente traccia alcuni grafici con l'opzione pagina nel generatore di grafici? Come faccio a impostare una linea di riferimento orizzontale, per ogni grafico, diciamo a Peso = 80 Kg ed etichettarla (80 kg) usando JSL?
(Ho bisogno che la linea di riferimento rimanga anche se cambia il numero di grafici tracciati)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 2954),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(Points(X, Y, Legend(15)), Smoother(X, Y, Legend(16)))
);Automazione e scriptingFinestreR: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 2954),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(Points(X, Y, Legend(15)), Smoother(X, Y, Legend(16)))
);
axis = gb << XPath( "//AxisBox" );
Summarize( page = By( :age ) );
axis[2::(2*NItems( page ))::2] << Add Ref Line( 80, "Solid", "Red", "Reference" );R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?@Mark_Bailey Smette di funzionare per me (JMP 16.2) se invoco il filtro dati locale sull'età dopo la rappresentazione grafica, come di seguito

R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?Il modo più semplice è aggiungere una nuova colonna alla tabella dati con lo stesso valore per ciascuna riga e aggiungerla al grafico. Funzionerà con i filtri
R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?@jthi il tuo suggerimento funziona bene, tranne per il fatto che vorrei che l'etichetta di linea fosse sulla destra. C'è un modo per cambiare la posizione dell'etichetta di linea?
R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?Non ricordo quali opzioni sono disponibili in JMP16 perché al giorno d'oggi uso principalmente JMP18 (con un po' di JMP17 mescolato)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Ref", Numeric, Continuous, Set Each Value(80));
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Y(:Ref, Position(1)), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16)),
Line(Y(2), Legend(17))
),
Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 15}),
Display(:age, N Items(6))
)
),
SendToReport(
Dispatch({}, "400", ScaleBox,
{Legend Model(
17,
Level Name(0, "Ref", Item ID("Mean(Ref)", 1)),
Properties(
0,
{Line Label Properties(
{Name Label(1), Name Label Position("Last")}
)},
Item ID("Mean(Ref)", 1)
)
)}
)
)
);
Write();

R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?Non è necessario modificare la tabella dei dati.
Replicare l'impostazione dell'asse tramite
Link Page Axes( "Y Only" )
copia anche le linee di riferimento.
per esempio
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Link Page Axes( "Y Only" ),
Variables( X( :height ), Y( :weight ), Page( :sex ), Overlay( :sex ) ),
Elements( Points( X, Y), Smoother( X, Y) ),
SendToReport(
Dispatch( {}, "weight", ScaleBox,
{Add Ref Line( 100, "Solid", "Black", "", 1 )}
)
)
);

R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?Anche questa è un'opzione, ma si perde uno dei vantaggi di Page: avere una scala degli assi diversa per le diverse "pagine". Potrebbe non essere un problema qui e potrebbe persino essere un vantaggio.
R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?@jthi Grazie.
Name Label Position("Last")non sembra essere disponibile/funzionante in JMP 16.2.
@hogi Il motivo per cui ho scelto l'opzione Pagina è per ottenere una scalatura diversa dell'asse y. Sono sicuro che ci siano altri modi per farlo, ma l'opzione Pagina sembra la più semplice.
R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?Quindi potresti dover tornare alla soluzione di Mark e usare il gestore di cambio filtro con essa. Di nuovo, non ho idea di quali siano le limitazioni di JMP16 con questa opzione
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16))
),
Local Data Filter(
Add Filter(
columns(:age),
Where(:age == {12, 15}),
Display(:age, N Items(6))
)
)
);
add_reflines = EvalExpr(
axis = Expr(gb) << XPath("//AxisBox");
axis[2::N Items(axis)::2] << Add Ref Line(80, "Solid", "Red", "Reference", 1, 1, Label Settings({Opposite Axis(1)}));
);
f = Function({a}, add_reflines);
ldf = (Report(gb) << top parent)[OutlineBox("Local Data Filter")] << Get Scriptable Object;
rs = ldf << Make Filter Change Handler(f);
add_reflines;
Write();
Non è il metodo più efficace per farlo, ma è piuttosto semplice.
R: Come impostare una linea di riferimento su ogni pagina con l'opzione Pagina in Graph Builder?E la sceneggiatura grafica potrebbe essere un'opzione
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 984),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Page(:age)),
Elements(
Points(X, Y(1), Legend(15)),
Smoother(X, Y(1), Legend(16))
)
);
(Report(gb) << XPath("//FrameBox")) << Add Graphics Script(
Pen Color("Red");
Text Color("red");
Text(Right Justified, {X Origin() + X Range(), 80}, "Reference");
H Line(80);
);
gb << Local Data Filter(
Add Filter(
columns(:age),
Display(:age, N Items(6))
)
);
Write();