Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Ajoutez le texte "txt1" en haut à gauche des coordonnées de l'image (100 100)
Merci!

dt = Current Data Table();
P1 = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) )
//, Text( Center Justified, {100, 100 }, "txt1"); ??
);Automatisation et scriptsRe : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Dispatch(
{},
"Graph Builder",
FrameBox( 2 ),
{Add Graphics Script(
9,
Description( "" ),
Text( Center Justified, {20, 70}, Char( gm ) || "——" || na9 )
)}
),Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Il existe plusieurs façons de faire ce que vous voulez.Vous pouvez utiliser l'annotation ou un script graphique.

Avec Annotation, vous spécifiez le texte et l'emplacement de la zone de texte.Dans le JSL ci-dessous, j'ai ajouté l'annotation dans la définition du Graph Builder JSL.Comme on peut le voir, l'emplacement de la zone de texte est déterminé par ce dont je me souviens comme étant l'emplacement des pixels dans la zone de cadre.
Ajouter l'utilisation d'un script graphique, utilise les valeurs réelles des axes X et Y pour son emplacement.Cependant, ce n’est pas vraiment simple avec votre graphique.Étant donné que les deux axes ne sont pas des colonnes continues, mais plutôt des colonnes ordinales et nominales, JMP attribue des valeurs entières à chacun des niveaux trouvés dans les données, en commençant par 0. Par conséquent, comme il existe 6 niveaux d'âge, l'axe X va de 0 à 5. Par conséquent, lorsque vous référencez la valeur X dans la fonction Text(), elle doit être comprise entre -0,5 et 5,5 pour être visible.De même, la valeur de l’axe Y doit être comprise entre -0,5 et 1,5. Si une colonne utilisée dans le graphique est continue, les valeurs réelles des données sont utilisées dans la spécification de l'emplacement X,Y.Pour cet exemple, j'ai utilisé un << Add Graphics Script() après l'exécution de la plateforme pour ajouter le graphique à Frame Box().Voir ci-dessous.
gb = Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Text Annotation(
Text( "Using Annotation" ),
Fixed Size( 0 ),
Text Box( {169, 137, 224, 200} ),
Font( "Segoe UI", 14, "Bold" ),
Filled( 0 )
), Add Text Annotation(
Text( "" ),
Fixed Size( 0 ),
Text Box( {269, 171, 286, 179} ),
Filled( 0 )
)}
)
)
);
Report( gb )[framebox( 1 )] << add graphics script(
Text Font( "Arial", 14, "Bold" );
Text( Center Justified, {1.5, .90}, "Using Add Graphics" );
);
Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Je n'ai toujours pas appris à ajouter du texte à mes dessins.
Par exemple, comment ajouter du texte à partir du coin supérieur gauche 100, 100 ?
Merci les experts !
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p1 = dt << Graph Builder(
Size( 507, 440 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements( Bar( X, Y, Legend( 5 ), Bar Style( "Needle" ), Response Axis( "X" ) ) ),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ), Show Major Ticks( 0 ),
Show Minor Ticks( 0 )}
)}
),
Dispatch(
{},
"height",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ), Show Major Ticks( 0 ),
Show Minor Ticks( 0 )}
)}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Big Class" )} ),
Dispatch( {}, "X title", TextEditBox, {Hide( 1 )} ),
Dispatch( {}, "Y title", TextEditBox, {Hide( 1 )} )
)
);
Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Vous trouverez ci-dessous une modification de votre script qui ajoute une annotation au graphique en plaçant une zone de texte() à 100 100, le texte étant "Big Class".Les fonctions d'annotation utilisent des pixels pour placer les valeurs.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 776, 457 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements(
Bar( X, Y, Legend( 5 ), Bar Style( "Needle" ), Response Axis( "X" ) )
),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ),
Show Major Ticks( 0 ), Show Minor Ticks( 0 )}
)}
),
Dispatch(
{},
"height",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ),
Show Major Ticks( 0 ), Show Minor Ticks( 0 )}
)}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Big Class" )} ),
Dispatch( {}, "X title", TextEditBox, {Hide( 1 )} ),
Dispatch( {}, "Y title", TextEditBox, {Hide( 1 )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
Add Text Annotation(
Text( "Big Class" ),
Fixed Size( 0 ),
Text Box( {100,100, 150, 150} ),
Filled( 0 )
)
)
)
);
Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Le texte ajouté via la zone de texte ne peut pas être enregistré ailleurs avec l'image d'origine.
Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Qu'entendez-vous par enregistrer ailleurs avec l'image d'origine ?
Le texte semble bien être enregistré avec cette image ?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(776, 457),
Show Control Panel(0),
Show Legend(0),
Variables(X(:weight), Y(:height), Color(:sex)),
Elements(Bar(X, Y, Legend(5), Bar Style("Needle"), Response Axis("X"))),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Label Row({Automatic Tick Marks(0), Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)})}
),
Dispatch(
{},
"height",
ScaleBox,
{Label Row({Automatic Tick Marks(0), Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)})}
),
Dispatch({}, "graph title", TextEditBox, {Set Text("Big Class")}),
Dispatch({}, "X title", TextEditBox, {Hide(1)}),
Dispatch({}, "Y title", TextEditBox, {Hide(1)}),
Dispatch(
{},
"Graph Builder",
FrameBox,
Add Text Annotation(Text("Big Class"), Fixed Size(0), Text Box({100, 100, 150, 150}), Filled(0))
)
)
);
pic = gb << Get Picture;
gb << Close Window;
Close(dt, no save);
nw = new window("",
pic
);
pic << Save Picture("$TEMP/textbox.png", "PNG");
Open("$TEMP/textbox.png");Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Où essayez-vous d'enregistrer l'image ?Le JSL ci-dessous est enregistré à plusieurs endroits, le texte ajouté étant enregistré avec l'image
report(gb)<<JOURNAL></JOURNAL>
Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?comment utiliser le jsl
Merci Jim!
</CODE></P><P><CODE class=" language-jsl">
,SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script( 2, Description:( "" ), Text( Center Justified, {50, 50}, "Big Class" ) )}
)
);</CODE></P></LINGO-BODY><LINGO-SUB id="lingo-sub-703023" slang="en-US" mode="NONE">Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?</LINGO-SUB><LINGO-BODY id="lingo-body-703023" slang="en-US" mode="NONE"><PRE><CODE class=" language-jsl">nw = Report( gb )[Graph Builder Box( 1 )];
dy = New Table( "K", Add Rows( 2 ), New Column( "A", Expression ), New Column( "B", Expression ) );
dy[1, 1] = nw;
Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Je vois
gb << Obtenir une photo ;
Il faut couper l'excédent.

Re : Comment ajouter du texte à un graphique après avoir dessiné en utilisant JSL ?Vous pouvez supprimer les paramètres de l'axe, puis copier l'image. Accédez de manière interactive aux paramètres des axes, puis vous pourrez supprimer les axes.Enregistrez ensuite le script pour voir ce qu'est le JLS pour supprimer les axes.