Modification de l'échelle de dégradé de couleurs à l'aide de JSLSalut tout le monde,
J'ai cette table de données par exemple

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 )
)
)}
)
)
);J'exécute le script ci-dessus pour obtenir ce graphique ci-dessous avec le dégradé de couleurs +/-2 écarts-types. Cela permet de ne pas afficher de dépliants si l'ensemble de données est volumineux.
Dans le graphique ci-dessous, la seule chose que je fais est de faire un clic droit sur le dégradé de couleur et de changer le type d'échelle en linéaire (car il est plus facile de penser en échelles linéaires). J'ai du mal à écrire cette étape.

Remarque, je ne veux pas le graphique ci-dessous qui est juste la valeur par défaut lors de la création du graphique avant d'ajuster le dégradé.

Le plus proche que j'ai obtenu est ci-dessous, mais il définit l'échelle linéaire de -2 à 2, ce que j'ai saisi pour les limites d'écart type.
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 )
)
)}
)Toutes suggestions seraient très appréciées! -Evan
Re : Modification de l'échelle de dégradé de couleurs à l'aide de JSLVoici un exemple où je détermine dynamiquement le dégradé à partir de l'une des colonnes.
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 )
)
)}
)
)
);Re : Modification de l'échelle de dégradé de couleurs à l'aide de JSLLe but de l'exercice est de voir ce que JSL GB produit pour une échelle personnalisée.Une fois que vous avez cela, vous pouvez déterminer par programme la mise à l'échelle de chaque ensemble de données et la remplacer dans votre GB JSL au moment de l'exécution.
Re : Modification de l'échelle de dégradé de couleurs à l'aide de JSLMerci pour la réponse!
Je ne veux pas avoir à faire de travail manuel dans Graph Builder. L'idée de mon script (plus grand) est de créer automatiquement de nombreux graphiques avec une mise à l'échelle appropriée pour chaque graphique et ensemble de données. Pour voir les modèles, l'échelle doit s'ajuster individuellement pour chaque colonne/ensemble de données. Il y a trop de choses à faire manuellement.Re : Modification de l'échelle de dégradé de couleurs à l'aide de JSLTravaillez sur le graphique en Go et réglez l'échelle exactement sur ce que vous voulez.Cliquez ensuite sur le triangle rouge et sélectionnez script > Enregistrer dans la fenêtre de script.Voici ce que j'ai obtenu après avoir légèrement modifié l'échelle:
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 )
)
)}
)
)
);