Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique?Salut, je suis assez nouveau sur jmp et j'essaie d'écrire un script pour automatiser quelque chose que j'ai pu faire dans d'autres logiciels. Je ne suis pas sûr que ce que je veux faire soit possible. J'essaie d'utiliser des données pour superposer 2 graphiques, l'un est un nuage de points et l'autre est un graphique linéaire. Je suis capable de faire le nuage de points, mais je n'arrive pas à comprendre comment inclure également le graphique linéaire.
J'ai inclus quelques images des 2 graphiques que je veux superposer, ainsi qu'un exemple avec d'autres logiciels de ce à quoi cela devrait ressembler. J'inclurai également ce que j'ai jusqu'à présent pour mon script.
Merci d'avance pour toute aide.
framex_value = "";
w = New Window( "Frame size X", // opens a window with a title and this content...
<<RETURN result=""></RETURN>



GraphiqueAutreScriptRe : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?Parfait, mon script fonctionne à merveille ! Merci encore pour votre aide!
Re : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?Vous modifiez la valeur de "framex_value" de numérique à caractère lorsque vous spécifiez
framex_value = framex << get text();
Vous dites à JMP d'obtenir la valeur de framex en tant que "texte"
Vous devriez préciser
framex_value = framex << get ;
Regardez dans le Guide de script sous "NumberEditBox" et vous verrez tous les messages qui peuvent être gérés par "NumberEditBox", et des exemples pour chacun.
Sur un autre problème connexe, vous spécifiez
framex = Number Edit Box( "" )
qui dit à JMP d'appliquer une valeur de caractère à votre zone de saisie numérique.Comme il s'agit d'un champ numérique, vous devez spécifier soit un nombre valide, soit un point, "." Le "." est traité comme une valeur manquante.
Re : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?Merci pour cet exemple. Je ne sais pas si j'apporte l'entrée utilisateur de manière incorrecte ou non, mais j'obtiens une erreur lorsque j'ajoute ceci au script et que j'essaie de l'exécuter.
Impossible de convertir l'argument en nombre [ou matrice] lors de l'accès ou de l'évaluation de 'Subtract' , 76200 - /*###*/framex_value/*###*/.
J'ai joint à nouveau mon script avec toutes les mises à jour si nécessaire pour aider.
Merci encore d'avance. J'apprécie vraiment l'aide.
framex_value = "";
w = New Window( "Frame size X", // opens a window with a title and this content...
<<RETURN result=""></RETURN>
Re : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?- Veuillez lire la section sur les matrices dans le guide de script
- Voici un exemple
Names default to here(1);
framex_value = 5000;
xMat = matrix(76200 - framex_value) |/ matrix(76200 - framex_value) |/
matrix(76200 + framex_value) |/ matrix(76200 + framex_value);
Re : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?@txnelson
C'est super, j'aime beaucoup cette solution. Merci d'avoir envoyé celui-ci.
Puis-je vous déranger avec une autre question ? J'ai du mal à obtenir les valeurs calculées dans le xMat. Mon programme demande une valeur à l'utilisateur, je prends cette valeur et le calcul pour les deux premières valeurs xMat doit être calculé (76200-"valeur d'entrée utilisateur"), et les deux secondes valeurs xMat seraient calculées (76200 + "entrée utilisateur valeur"). Merci d'avance pour toute aide.
Re : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?@GardDog
Je réponds en retour, pour vous inviter à réévaluer la première option que je vous ai montrée.Il a le net avantage de ne pas gâcher vos données.Vous trouverez ci-dessous une refonte du script que Graph Builder a produit pour la première option.Le code retravaillé vous montrera comment incorporer les valeurs calculées directement dans la sortie graphique.
Names Default To Here( 1 );
dt = Current Data Table();
// Determine your X Matrix
// Here it is just being assigned, but you can easily create it in your code
xMat = [25000, 25000, 100000, 100000];
// The yMat is static, so it would be input as is
yMat = [1, 0.92, 0.92, 1];
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :X Coordinate ), Y( :Normalized ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
Report( gb )[FrameBox( 1 )] << Add Graphics Script(
Pen Color( "orange" );
Pen Size( 2 );
Line( xmat, ymat );
);
report(gb)[AxisBox(2)] << min(.91);
Re : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?C'est parfait, merci beaucoup. Je l'apprécie tellement. J'ai essayé de comprendre comment faire cela pendant un bon moment ..... J'ai pu le faire fonctionner sur mon ensemble de données .... maintenant j'ai juste besoin de voir comment ajouter les valeurs du graphique linéaire dans Les colonnes. En utilisant vos noms de colonnes, les coordonnées X de la ligne dépendront d'une valeur saisie par l'utilisateur, elles changeront donc, mais la norme2 sera toujours les 4 mêmes valeurs. Je vois que tu as répondu à l'autre post que j'ai fait à ce sujet. Je vais revoir celui-là. Merci encore.
Re : Existe-t-il un moyen d'écrire un script pour représenter graphiquement 2 types de tracés différents dans un graphique ?Voici 2 solutions.
La première solution crée le graphique avec uniquement la coordonnée X et les données normalisées, puis en utilisant Ajouter un script graphique, ajoute dans la ligne

La deuxième solution ajoute des lignes supplémentaires à la table de données et 1 colonne supplémentaire, puis en spécifiant les variables pour lesquelles afficher des points et celles pour lesquelles afficher une ligne, le générateur de graphiques propose le tracé final.

Les 2 tables de données sont jointes et les scripts de chaque version sont enregistrés dans les tables de données respectives.