Modifica della scala del gradiente di colore utilizzando JSLCiao a tutti,
Ho questa tabella di dati per esempio

test = Graph Builder(
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
23,
Properties(
0,
{gradient(
{Scale Values( [-2 2] ), Label Format( "Fixed Dec", 15, 3 )}
)},
Item ID( "Value", 1 )
)
)}
)
)
);Eseguo lo script sopra per ottenere questo grafico sotto con il gradiente di colore +/-2 deviazioni standard. Questo aiuta a non mostrare i volantini se il set di dati è grande.
Nel grafico sottostante l'unica cosa che faccio è fare clic con il tasto destro sul gradiente di colore e modificare il tipo di scala in lineare (perché è più facile pensare in scale lineari). Sto lottando per scrivere questo passaggio.

Nota, non voglio il grafico sottostante che è solo l'impostazione predefinita quando si crea il grafico prima di regolare il gradiente.

Il più vicino che ho ottenuto è al di sotto, ma imposta la scala linearmente da -2 a 2, che era quello che ho inserito per i limiti di deviazione standard.
test << Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Properties(
0,
{gradient(
{ Scale Values[ ], Label Format( "Fixed Dec", 15, 4 ),
Scale Type( "Linear" )}
)},
Item ID( "Entry X Offset", 1 )
)
)}
)Tutti i pensieri sono molto apprezzati! - Eva
Ri: Modifica della scala del gradiente di colore utilizzando JSLEcco un esempio in cui sto determinando dinamicamente il gradiente da una delle colonne.
dt = New Table( "Untitled", Add Rows( 4 ),
New Column( "X", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Y", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [4, 1, 3, 2] ) ),
New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 1, 2, 2] ) )
);
dtcol = column(dt, "Y");
one_min = col min(dtcol);
one_max = col max(dtcol);
one_avg = col mean(dtcol);
scale_matrix = matrix({one_min, one_avg, one_max});
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 9 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model( 9,
Properties( 0,
{gradient( {Scale Values( scale_matrix )} )},
Item ID( "Value", 1 )
)
)}
)
)
);Ri: Modifica della scala del gradiente di colore utilizzando JSLLo scopo dell'esercizio è vedere cosa produce JSL GB per una scala personalizzata.Una volta che lo hai, puoi determinare a livello di codice il ridimensionamento per ogni set di dati e sostituirlo nel tuo GB JSL in fase di esecuzione.
Ri: Modifica della scala del gradiente di colore utilizzando JSLGrazie per la risposta!
Tuttavia, non voglio dover eseguire alcun lavoro manuale in Graph Builder. L'idea del mio script (più grande) è di creare automaticamente molti grafici con un ridimensionamento appropriato per ogni grafico e set di dati. Per vedere i modelli, la scala deve essere regolata individualmente per ogni colonna/set di dati. Ce ne sono troppi da fare manualmente.Ri: Modifica della scala del gradiente di colore utilizzando JSLLavora sul grafico in GB e imposta la scala esattamente su ciò che desideri.Quindi fare clic sul triangolo rosso e selezionare script > Salva nella finestra dello script.Ecco cosa ho ottenuto dopo aver leggermente modificato la scala:
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 9 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model( 9,
Properties( 0,
{gradient( {Scale Values( [2.2 2.6 3.2] )} )},
Item ID( "Value", 1 )
)
)}
)
)
);