Salut,
J'analyse certaines données via un script. En particulier, j'ai trois variables, à savoir A, B et C, et elles représentent trois propriétés d'une image. Pour tracer l'image en fonction de ces trois propriétés, j'ai l'habitude de colorer les différentes lignes à l'aide de la propriété Row State :
Pour chaque ligne( dt,
Couleur de() = Couleur RVB(:A, :B, :C) );
De cette façon, chaque point/ligne a une couleur RVB 1:1 correspondant aux valeurs des trois variables.
J'essaie de tracer l'image avec le Graph Builder et de mettre dans son option Couleur ce code de couleur RVB spécifique, car j'avais dans le code suivant pour effacer les états de ligne. En particulier, col et row sont les coordonnées de mon image et RGB est une nouvelle colonne que j'ai créée avec la formule : Color Of() = RGB Color(:A, :B, :C);
Map = dt << Générateur de graphiques (
Afficher le panneau de configuration (0),
Variables( X( :col ), Y( :row ), Couleur(:RGB) ),
Éléments( Points( X, Y, Légende( 4 ) ) )
) ;
Le problème est que GB considère la colonne RVB comme une colonne de valeurs et non comme une colonne de couleurs décodées.
Une idée pour convertir ce code couleur RVB auquel je suis habitué en un thème de couleur pour GB ?
Merci!
Vous n'aurez peut-être pas besoin d'un nouveau thème de couleur. Graph Builder respecte l'état de la ligne de couleur, vous n'avez donc qu'à modifier cet état de ligne. Voici un exemple qui trace RunPulse contre RstPulse. L'état de la ligne de couleur est d'abord défini en fonction de trois autres variables normalisées (0,1).
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
For Each Row(
Row State() = Color State( {
:Oxy / Col Max( :Oxy ),
:Runtime / Col Max( :Runtime ),
:Weight / Col Max( :Weight )
} );
);
dt << Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :MaxPulse ), Y( :RunPulse ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);C'est une bêtise. J'ai essayé de créer un nouveau thème de couleur, mais cela n'a pas très bien fonctionné.
J'ai fait une table avec 1000 valeurs RVB aléatoires. (script en bas)
Les valeurs RVB sont converties en couleur JMP.
Ensuite, j'ai supprimé les formules et trié les colonnes par la couleur JMP.
et ajouté une formule pour générer du texte à utiliser dans un nouveau thème de couleur.
J'ai utilisé l'un des thèmes de couleurs existants comme modèle. A partir d'une fenêtre de script, exécutez : Get Preferences(); et saisissez l'un des thèmes de couleurs, comme celui-ci.
Add Color Theme(
{"Reverse Jet", 2051, {{127, 0, 0}, {255, 0, 0}, {255, 127, 0}, {255, 255, 0}, {127, 255,
127}, {0, 255, 255}, {0, 127, 255}, {0, 0, 255}, {0, 0, 127}, Missing( "Black" )}, 1, 1}
),
J'ai donné un nouveau nom au nouveau thème et remplacé les ensembles de trois listes d'éléments par le texte du tableau.
Je ne sais pas ce que fait le 2051 initial, et je ne sais pas non plus ce que fait le dernier "1, 1". Alors je les ai juste gardés.
Revenez à la fenêtre de script où vous avez exécuté Get Preferences, supprimez le script, copiez l'intégralité du journal et collez-le dans la fenêtre.
Supprimez les commentaires au début et modifiez le premier argument de "Préférences" en Définir les préférences.
À la toute fin, ajoutez votre nouveau thème de couleur. Assurez-vous qu'il suit le format des préférences, des virgules et à l'intérieur du dernier parenthèse... des trucs comme ça.
Cependant, il peut être judicieux de sauvegarder votre script de préférences avant la modification, afin de pouvoir le récupérer plus tard.
Après avoir exécuté le script de définition des préférences, le nouveau thème de couleur devrait s'afficher en tant qu'option dans le générateur de graphiques, sans qu'il soit nécessaire de redémarrer JMP.
Notez que ce nouveau thème de couleur est énorme, semble intéressant mais pas tout à fait correct, et il rend le générateur de graphiques extrêmement lent.
New Table( "maker",
Add Rows( 1000 ),
New Script(
"Scatterplot 3D",
Scatterplot 3D(
Y( :R, :G, :B ),
Frame3D(
Set Grab Handles( 0 ),
Set Rotation( 127.28221594942, -1.35536871654718, 146.077602393409 ),
Set Marker Scale( 3.8125 )
)
)
),
New Column( "R",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "G",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "B",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Random Integer( 0, 255 ) ),
Set Selected
),
New Column( "Column 4",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Color Of() = RGB Color( :R, :G, :B ) ),
Set Selected
)
)