Ajouter du texte à une zone de graphiqueJe peux ajouter du texte formaté à une coordonnée spécifique en utilisant le code ci-dessous au moment de créer la boîte graphique.
New Window( "Example",
Graph Box(
Text Size( 20 );
Text( {50, 20}, "label" );
)
);
Cependant, je n'arrive pas à comprendre comment ajouter du texte plus tard, après la création de la zone de graphique. Par exemple, j'essaie en fait d'ajouter plusieurs éléments de texte formatés à la zone de graphique dans une boucle for.
J'ai essayé en identifiant la "boîte de cadre interne" pour la "boîte de graphique" et en y ajoutant le texte, mais la zone de cadre ne reconnaît pas le message "Texte".En fin de compte, je veux pouvoir ajouter plusieurs éléments de texte formatés à des coordonnées spécifiques.
Names Default To Here( 1 );
New Window( "Example", a = Graph Box() );
frame = a[FrameBox( 1 )];
frame << Text Color( "red" );
frame << Text( Center Justified, {50, 20}, "centered" );
Comment puis-je y parvenir ?
Bravo, Troie
Personnalisation de masseRe : Ajouter du texte à une boîte de graphiqueOh mec, les deux solutions fonctionnent mais j'ai finalement opté pour la méthode ErraticAttach car elle est plus proche de mes besoins d'origine.
Merci à vous deux pour vos réponses.
Re : Ajouter du texte à une boîte de graphiqueRemarquez comment la finale Colle() déclaration dans le Boîte graphique() function est un script comme indiqué dans l'index de l'aide (voir ci-dessous).Pour ajouter un script à une zone graphique après coup, utilisez la commande <<AJOUTER un="" script="" graphique=""></AJOUTER> méthode, comme ci-dessous.Vous pouvez mettre un Colle() fonctionner ici comme je l'ai fait.
Names Default To Here( 1 );
New Window( "Example", a = Graph Box() );
frame = a[FrameBox( 1 )];
frame << Add Graphics Script( Text Color( "red" ); Text( Center Justified, {50, 20}, "centered" ) );

Re : Ajouter du texte à une boîte de graphiqueGénial Craig.
Je crée généralement tous mes éléments d'interface graphique à l'avance et leur envoie des messages plus tard dans la partie "Logique" de mes applications. Bien sûr, je peux simplement déplacer la boucle principale DANS la zone graphique lorsque je la crée. Cela fonctionnerait plutôt bien, je suppose.
Je vais essayer ces deux approches et voir comment je m'entends.
Merci pour l'info.
Incidemment, j'utilise la boîte graphique uniquement pour créer une image (carte de partition de matrice dans ce cas) - je n'ai aucune "donnée" associée à cela comme je le ferais lorsque j'utilise une plate-forme bivariée ou graphbuilder pour l'analyse.
Re : Ajouter du texte à une boîte de graphiqueSelon l'objectif, vous pourrez peut-être utiliser une table de données et une plate-forme existante et simplement étiqueter les points avec une autre colonne. L'un des attributs de la colonne est Utiliser pour le marqueur.
UseForMarker circled in red.UseForMarker circled in red.UseForMarker entouré en rouge.
Mais pour faire ce que vous décrivez, le script graphique doit avoir une boucle qui obtient des étiquettes (et des données de couleur et de marqueur) à partir d'un conteneur quelconque. Le conteneur peut être une liste, une table de données ou un tableau associatif. Si vous ajoutez une étiquette au conteneur, vous pouvez envoyer le message <
list = {{"aaa", 10, 10, "red"}};
New Window( "Example",
gb=Graph Box(
For( i = 1, i <= N Items( list ), i += 1,
thisLabel = list[i];
Text Color( thisLabel[4] );
Text( Center Justified, {thisLabel[2], thisLabel[3]}, thisLabel[1] );
)
)
);
wait(1);
list[2] = {"bbb",20,20,"blue"};
gb<<INVAL></INVAL>
Three seconds later...Three seconds later...Trois secondes plus tard...