Existe-t-il un moyen d'afficher une ligne de référence X dynamique sur plusieurs tracés ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'utilise Graph Builder pour afficher:
- le nombre de défauts dans un lot au fur et à mesure que les pièces sont traitées par un certain outil de fabrication TOP PLOT
- les changements d'état de l'équipement E10 que l'outil a traversés au cours de la même période CENTER PLOT
- un moniteur de processus prélevé sur des substrats de test également traités au cours de la même période.PARCELLE INFÉRIEURE

Le "updated_date" est le seul facteur commun entre tous les ensembles de données, qui ont été collectés à partir de 3 bases de données différentes
J'aimerais avoir la possibilité d'afficher une ligne de référence X pendant que je clique et maintiens la souris sur l'un des tracés. Au relâchement de la souris, il devrait disparaître.
La ligne de référence doit être affichée sur tous les tracés simultanément.
Un exemple de ce dont j'ai besoin est vu ci-dessous:

Au plaisir de voir quelles solutions créatives peuvent être apportées
- Philippe
Re : Existe-t-il un moyen d'afficher une ligne de référence X dynamique sur plusieurs tracés ?Merci Ian et Craig pour vos solutions.
Cela fonctionne à merveille
Si vous êtes prêt à relever un autre défi, .....Je me demandais si les étiquettes activées pouvaient être affichées lorsque la ligne de référence est placée sur n'importe quel point de n'importe quel graphique.
Rappelez-vous qu'il n'y aura jamais de situation dans laquelle des points se produiront exactement au même emplacement sur l'axe des abscisses dans mon application.
Dans mon cas, les étiquettes seraient des commentaires écrits par l'opérateur concernant les essais, la fabrication ou la surveillance des processus.
C'est plus "agréable à avoir" que nécessaire mais ce serait très bien
- Philippe
Re : Existe-t-il un moyen d'afficher une ligne de référence X dynamique sur plusieurs tracés ?En utilisant la méthode d'origine, votre code devrait mettre à jour 2 ET 3 lorsque 1 est manipulé (et ses permutations cycliques).
Mais avec l'approche '<
Noms par défaut ici ( 1 );
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" );
gb = dt << Générateur de graphiques (
Taille( 528 , 448 ),
Afficher le panneau de configuration( 0 ),
Variables( X( Transformer Colonne( "Ligne" , Formule( Ligne () ) ) ), Y( :taille ), Y( :poids ), Y( :âge ) ),
);
::exx = 1 ;
gbfb3 = Rapport ( gb )[FrameBox( 3 )] ;
gbfb3 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" );
Taille du stylo ( 2 );
Piege a souris (
::exx = x;
fr << invalide ;
);
Ligne V ( ::exx );
);
gbfb1 = Rapport ( gb )[FrameBox( 1 )] ;
gbfb1 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" );
Taille du stylo ( 2 );
Piege a souris (
::exx = x;
fr << invalide ;
);
Ligne V ( ::exx );
);
gbfb2 = Rapport ( gb )[FrameBox( 2 )] ;
gbfb2 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" );
Taille du stylo ( 2 );
Piege a souris (
::exx = x;
fr << invalide ;
);
Ligne V ( ::exx );
);
Re : Existe-t-il un moyen d'afficher une ligne de référence X dynamique sur plusieurs tracés ?Chaque cellule du tracé en treillis produit par Graph Builder est une "FrameBox()" distincte, et le défi consiste à mettre à jour chacune d'entre elles lorsqu'une seule est modifiée. Le code ci-dessus repose sur la suppression et le rétablissement répétés d'un script graphique pour chaque FrameBox(), et c'est pour le moins maladroit.
Craige@jmp a eu la gentillesse de souligner une meilleure façon : envoyez simplement à l'objet Graph Builder lui-même un message '<< inval', ce qui force tous les FrameBox associés à se redessiner de manière appropriée :
Noms par défaut ici ( 1 );
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" );
gb = dt << Générateur de graphiques (
Taille( 528 , 448 ),
Afficher le panneau de configuration( 0 ),
Variables( X( Transformer Colonne( "Ligne" , Formule( Ligne () ) ) ), Y( :taille ), Y( :poids ) )
);
::exx = 1 ;
gbfb1 = Rapport ( gb )[FrameBox( 1 )] ;
gbfb1 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" );
Taille du stylo ( 2 );
Piege a souris (
::exx = x;
fr << invalide ; // assurez-vous que les autres mises à jour du graphique
);
Ligne V ( ::exx );
);
gbfb2 = Rapport ( gb )[FrameBox( 2 )] ;
gbfb2 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" );
Taille du stylo ( 2 );
Piege a souris (
::exx = x;
fr << invalide ; // assurez-vous que les autres mises à jour du graphique
);
Ligne V ( ::exx );
);
Re : Existe-t-il un moyen d'afficher une ligne de référence X dynamique sur plusieurs tracés ?Salut Ian,
Merci de votre réponse rapide.
C'est exactement ce que je recherche mais j'en ai besoin pour travailler sur 3 parcelles
En utilisant l'ensemble de données "$SAMPLE_DATA/Big Class.jmp, j'ai ajouté un tracé pour :age, mais malheureusement, lorsque j'essaie de le configurer pour qu'il fonctionne sur 3 tracés, je n'ai pas réussi à le faire fonctionner. Je peux faire fonctionner 2 sur 3 à tout moment.
Serait-il possible d'ajouter quelques commentaires au script pour expliquer quelle est la logique ? Mes excuses pour ce désagrément.
Dans mon cas, il suffirait qu'en cliquant sur le tracé central (:weight), la ligne de référence soit tracée vers le haut et vers le bas couvrant tous les tracés.
Voici ce que j'ai fait :
Noms par défaut ici ( 1 ) ;
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
Go = dt << Générateur de graphiques (
Taille ( 528 , 448 ) ,
Afficher le panneau de configuration ( 0 ) ,
variables ( X ( Transformer la colonne ( "Ligne" , Formule ( Ligne () ) ) ) , Oui ( : hauteur ) , Oui ( : lester ) , Oui ( : âge ) ) ,
) ;
:: exx = 1 ;
gbfb3 = Rapport ( Go )[ FrameBox ( 3 )] ;
gs3 = Expr (
gbfb3 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" ) ;
Taille du stylo ( 2 ) ;
Piege a souris ( :: exx = X ; gbfb1 << supprimerGraphicsScript ( 1 ) ; gs1 ) ;
VLigne ( :: exx ) ;
) ;
) ;
gbfb1 = Rapport ( Go )[ FrameBox ( 1 )] ;
gs1 = Expr (
gbfb1 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" ) ;
Taille du stylo ( 2 ) ;
Piege a souris ( :: exx = X ; gbfb2 << supprimerGraphicsScript ( 1 ) ; gs2 ) ;
VLigne ( :: exx ) ;
) ;
) ;
gbfb2 = Rapport ( Go )[ FrameBox ( 2 )] ;
gs2 = Expr (
gbfb2 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" ) ;
Taille du stylo ( 2 ) ;
Piege a souris ( :: exx = X ; gbfb3 << supprimerGraphicsScript ( 1 ) ; gs3 ) ;
VLigne ( :: exx ) ;
) ;
) ;
gs1 ;
gs2 ;
gs3 ;
L'intrigue résultante ressemble à ceci :

Lorsque je clique à l'intérieur du tracé "âge", tout va bien avec la Réf. Ligne se déplaçant avec la souris sur toutes les parcelles.
Cependant, lorsque je clique à l'intérieur du tracé "hauteur", il se passe ce qui suit :
La ligne de référence passe par "taille" et "poids" mais pas par "âge"

De même, lorsque je clique à l'intérieur du tracé "poids", ce qui suit se produit :
La ligne de référence passe par "poids" et "âge" mais pas par "taille"

Pourriez-vous s'il vous plaît jeter un oeil?
Merci,
Philippe
Re : Existe-t-il un moyen d'afficher une ligne de référence X dynamique sur plusieurs tracés ?Vous pourriez probablement adapter cette approche à votre cas spécifique :
Noms par défaut ici ( 1 );
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" );
gb = dt << Générateur de graphiques (
Taille( 528 , 448 ),
Afficher le panneau de configuration( 0 ),
Variables( X( Transformer Colonne( "Ligne" , Formule( Ligne () ) ) ), Y( :taille ), Y( :poids ) )
);
::exx = 1 ;
gbfb1 = Rapport (gb)[FrameBox( 1 )] ;
gs1 = Expr (
gbfb1 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" );
Taille du stylo ( 2 );
Piege a souris (::exx = x; gbfb2 << supprimerGraphicsScript ( 1 ); gs2);
VLigne (::exx);
);
);
gbfb2 = Rapport (gb)[FrameBox( 2 )] ;
gs2 = Expr (
gbfb2 << AjouterGraphicsScript (
Couleur du stylo ( "Rouge" );
Taille du stylo ( 2 );
Piege a souris (::exx = x; gbfb1 << supprimerGraphicsScript ( 1 ); gs1);
VLigne (::exx);
);
);
gs1 ;
gs2;