Colore di riempimento per più linee di riferimentoCIAO,
Ho aggiunto più linee di riferimento all'asse dell'asse di un grafico.
Lo sto facendo scorrendo una tabella di linee di riferimento (DarkLight) basata sulla tabella principale.
Oxygen consumption = SableData << Graph Builder(<BR />Size( 1322, 944 ),<BR />Variables(<BR />X( :Name( "Time since first dose-[hours]" ) ),<BR />Y( :Name( "VO2-[ml/min]" ) ),<BR />Overlay( :Treatment )<BR />),<BR />Elements( Points( X, Y, Legend( 4 ) ) )<BR />);<BR /><BR />For( i = 1, i <= N Rows( DarkLight ), i++,
Report( Oxygen consumption )[AxisBox( 1 )] << add ref line( DarkLight:name("Time since first dose-[hours]")[i], DarkLight:Phase[i] )
);
Posso comunque aggiungere un colore di riempimento tra alcune righe (in base ai dati della colonna nella tabella DarkLight) indicando così quando è giorno o notte?
Fr. Julie
GraficaScriptingRe: Colore di riempimento per più linee di riferimentoOk, ha senso. Ho perso la parte dell'elenco. Grazie per la risposta - cambierò la tabella di riferimento come suggerisci.
Re: Colore di riempimento per più linee di riferimentoIl tuo esempio non aggiunge due righe di riferimento. Aggiunge una regione colorata nell'intervallo quando fornisci un elenco con due valori.
Potrebbe essere necessario modificare la tabella dati di riferimento che si costruisce. Questo esempio dovrebbe illustrare l'approccio;
Names Default to Here( 1 );
// data table with reference line specifications
ref dt = New Table( "Reference Lines",
Add Rows( 5 ),
New Column( "Segment",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 2, 3, 4, 5] )
),
New Column( "Low",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [50, 55, 60, 65, 70] )
),
New Column( "High",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [55, 60, 65, 70, 75] )
),
New Column( "Color",
Character,
"Nominal",
Set Values( {"Red", "Yellow", "Green", "Yellow", "Red"} )
)
);
data = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = data << Bivariate( Y( :weight ), X( :height ) );
x axis = Report( biv )[AxisBox(2)];
For Each Row( ref dt,
// draw colored regon
Eval( Eval Expr( x axis << Add Ref Line( { Expr( :Low ), Expr( :High ) }, "Solid", Expr( :Color ), , , 0.25 ) ) );
// draw border lines
Eval( Eval Expr( x axis << Add Ref Line( Expr( :Low ), "Solid", "Black" ) ) );
Eval( Eval Expr( x axis << Add Ref Line( Expr( :High ), "Solid", "Black" ) ) );
);Re: Colore di riempimento per più linee di riferimentoIl mio problema riguarda questa parte in uno dei suggerimenti:
Add Ref Line( {55, 65}, "Solid", "Black", "label", 1, 0.25 )Ciò aggiungerebbe due linee di riferimento a 55 e 65 e hanno le stesse proprietà (solido, nero ecc.).
Se ho bisogno di aggiungere ad esempio 100 linee di riferimento che cambiano a seconda del set di dati specifico eseguito attraverso lo script e devono essere mostrate con proprietà diverse (ad esempio una è punteggiata e rossa, la successiva è piena e blu ecc.).
Come lo faresti senza dover aggiungere manualmente ogni valore nello script?
Re: Colore di riempimento per più linee di riferimentoSi itera sulle righe nella tabella di riferimento e si aggiunge una riga di riferimento (intervallo) ogni volta. Le nostre risposte non riguardavano l'interfaccia utente, solo gli script, quindi non è chiaro perché sei confuso o incapace di procedere.
Re: Colore di riempimento per più linee di riferimentoGrazie per le risposte, ma ciò richiederebbe l'aggiunta manuale delle righe di riferimento. Il mio set di dati è in continua evoluzione, quindi sto cercando una soluzione in cui posso utilizzare la tabella di riferimento che ho programmato per essere creata ogni volta che eseguo i miei dati attraverso questo e aggiungo automaticamente le linee di riferimento al grafico.
Ma non riesco a trovare una soluzione che aggiunga proprietà diverse alle diverse linee di riferimento quando vengono aggiunte in questo modo.
Re: Colore di riempimento per più linee di riferimentoSapevo come funzionava questo messaggio, ma quando sono andato allo Scripting Index per ottenere un riferimento per Julie, ho scoperto che è incompleto:

Re: Colore di riempimento per più linee di riferimentoLe linee di riferimento possono utilizzare un intervallo di valori, insieme a una trasparenza per fondere il colore con lo sfondo.Questo esempio che utilizza i dati di esempio di Big Class produce l'immagine seguente:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Fit Line( {Line Color( {212, 73, 88} )} )
);
(biv<<REPORT></REPORT>
