Comment créer un Graph Builder interactif dans une fenêtre personnalisée sans barres d'outils ni menus ?Actuellement j'ai le script suivant :
gb = Graph Builder(...);
rgb = Report(gb);
win = New Window("Custom Window", Show Menu( 0 ), Show Toolbars( 0 ), rgb);
gb << Close Window;De cette façon, j'obtiens mon petit tracé GB dans une jolie fenêtre sans contrôles utilisateur inutiles.
Le problème est que je ne peux pas sélectionner de points sur ce tracé - c'est un rapport, le tracé n'est pas interactif.
Comment puis-je :
a) le rendre interactif, afin qu'un utilisateur puisse interagir avec l'intrigue, ou
b) conserver la fenêtre d'origine de Graph Builder - mais supprimer les menus, les barres d'outils, etc. ?
Automatisation et scriptsRe : Comment créer un Graph Builder interactif dans une fenêtre personnalisée sans barres d'outils ni menus ?Vous pouvez simplement exécuter Graph Builder dans une nouvelle fenêtre (j'ai utilisé une expression, car elle rend la nouvelle partie de la fenêtre plus propre).
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb_expr = Expr(gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
));
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);Re : Comment créer un Graph Builder interactif dans une fenêtre personnalisée sans barres d'outils ni menus ?C'est comme ça que tu le fais! Ça marche!
Cependant, je me retrouve maintenant confronté à un autre problème. Mon tracé est une série de cartes de tranches (encapsulées par WaferID) et doivent donc être des cercles (et non des ovales). J'ai donc spécifiquement défini la taille de la FrameBox :
(gb << xpath( "//FrameBox" )) << Set Width( 100 )<< Set Height( 100 )
Désormais, lorsque la fenêtre est créée en premier, elle a une taille et le contenu (mon tracé) est étiré pour s'adapter à la fenêtre. Même si je dis :
(gb << xpath( "/OutlineBox" ))<<SET stretch=""></SET>
Il ignorera mon paramètre de taille, étirera les tracés pour les adapter à la fenêtre, puis désactivera l'étirement.
Une idée de comment le contourner ? Par exemple, dire à la fenêtre de changer sa taille en fonction du contenu, et non l'inverse ?
Re : Comment créer un Graph Builder interactif dans une fenêtre personnalisée sans barres d'outils ni menus ?Cela dépend en partie (d'après mon expérience) de la zone d'affichage que vous utilisez pour envelopper le générateur de graphiques. S'agit-il simplement d'une nouvelle fenêtre ou de quelque chose de plus étrange comme une boîte à feuilles ou une boîte de séparation en V ? Parfois, quelque chose comme ça suffira
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Wafer Stacked.jmp");
gb_expr = Expr(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:X_Die), Y(:Y_Die), Wrap(:Wafer), Color(:Defects)),
Elements(Heatmap(X, Y, Legend(5)))
);
//gb << Fit To Window("Off");
(gb << xpath("//FrameBox")) << Set Height(100);
(gb << xpath("//FrameBox")) << Set Width(200);
);
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);
// report(gb)[FrameBox(1)] << Get Min Size;
// report(gb)[FrameBox(1)] << Get Max Size;Re : Comment créer un Graph Builder interactif dans une fenêtre personnalisée sans barres d'outils ni menus ?Oui, je l'ai essayé au départ de la même manière, le problème est que cela ne fonctionne pas - <<
Re : Comment créer un Graph Builder interactif dans une fenêtre personnalisée sans barres d'outils ni menus ?Je ne sais pas où ils sont ignorés
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Wafer Stacked.jmp");
gb_expr = Expr(
gb = dt << Graph Builder(
Show Control Panel(0),
Variables(X(:X_Die), Y(:Y_Die), Wrap(:Wafer), Color(:Defects)),
Elements(Heatmap(X, Y, Legend(5)))
);
gb << Fit To Window("Off");
(gb << xpath("//FrameBox")) << Set Height(10);
(gb << xpath("//FrameBox")) << Set Width(15);
);
nw = New Window("GB", Show Menu(0), Show Toolbars(0),
gb_expr
);
nw << Set Window Size(1900, 1000);
// report(gb)[FrameBox(1)] << Get Min Size;
// report(gb)[FrameBox(1)] << Get Max Size;Re : Comment créer un Graph Builder interactif dans une fenêtre personnalisée sans barres d'outils ni menus ?Si j'exécute simplement l'expression, elle s'ouvrira dans sa propre fenêtre et là, je pourrai contrôler les tailles des FrameBox. Vous trouverez ci-dessous un exemple de 50x50 au-dessus de FrameBox 100x100. En gros, c'est ce dont j'ai besoin - uniquement dans une fenêtre personnalisée sans menus, etc.

C'est ce que j'obtiens si je l'exécute dans la nouvelle fenêtre. Peu importe les tailles que vous spécifiez, cela finit comme ça.
