Icônes des marqueurs graphiquesSalut,
Je suis en train d'écrire un tableau de bord en ce moment dans lequel j'aimerais proposer à l'utilisateur le choix du symbole de marqueur qui sera utilisé dans un graphique qui sera créé à partir des différentes sélections de l'utilisateur.
Je voudrais ajouter une icône à chaque élément dans la liste des options qui montre à quoi ressemble chaque symbole, dans le sens du petit script de démonstration que j'ai joint dans lequel j'ai utilisé quelques icônes standard dans la zone de liste à gauche pour illustrer ce que je veux dire - mais évidemment, j'aimerais les remplacer par le véritable ensemble de symboles marqueurs affiché à droite.
Une recherche rapide à l'aide du complément Built-In JMP Icons suggère que ces 32 symboles n'existent pas en tant qu'icônes prédéfinies auxquelles je peux accéder par nom, donc je suppose que je devrais créer chacun individuellement comme un ensemble de mes propres icônes. Je pourrais le faire assez facilement, mais cela pourrait devenir un peu fastidieux - alors avant de l'essayer, quelqu'un peut-il suggérer un moyen plus simple de résoudre ce problème?
Clear Log();
Marker_List = {{" Dot", "WinHelpSearch"}, {" Square", "WinHelpAbout"}, {" Cross", "SearchIndex"},
{" Filled Triangle", "Gear"}, {" Asterisk", "ListItemUp"}, {" Diamond", "ListItemDown"}};
Marker_ListBox = List Box( Marker_List );
New Window( "Markers",
H List Box(
Panel Box( "Select a Marker Symbol", Marker_ListBox ),
// Marker_ListBox,
Panel Box( "All 32 Marker Symbols",
Graph Box(
FrameSize( 300, 300 ),
Y Scale( -1, 16 ),
X Scale( 0, 7 ),
For(
i = 0;
jj = 15;,
i < 16;
jj >= 0;,
i++;
jj--;, // 16 rows, 2 columns
Marker Size( 3 );
Marker( i, {1, jj + .2} ); // markers 0-15
Marker( i + 16, {4, jj + .2} ); // markers 16-31
Text( {1.5, jj}, "Marker ", i ); // marker labels 0-15
Text( {4.5, jj}, "Marker ", i + 16 ); // marker labels 16-31
)
)
)
)
);
Merci beaucoup
Re : Icônes des marqueurs graphiquesSalut Craige - c'est un très script instructif là-bas : je peux voir plusieurs utilisations pour quelque chose comme ça dans le contexte de ce que je fais !
Merci beaucoup
Re : Icônes des marqueurs graphiquesvoir https://community.jmp.com/t5/JSL-Cookbook/Custom-Button-Icons/ta-p/50294 , merci pour l'idée !
button iconsicônes de bouton
Re : Icônes des marqueurs graphiquesIngénieux!Ou alternativement, je pourrais abandonner complètement l'idée d'un menu en tant que tel et offrir simplement à l'utilisateur une grille de marqueurs possibles parmi lesquels choisir : quelque chose basé sur le script joint ferait cela.
Une question rapide cependant - comment puis-je désactiver la fonctionnalité pour faire défiler l'un ou l'autre des axes (je peux toujours le faire en survolant au moins l'axe Y jusqu'à ce que je voie le symbole "main", puis en faisant glisser cet axe vers le haut ou vers le bas) sans réellement supprimer les axes ?Je trouve que si je supprime les axes comme vous l'avez fait dans votre exemple, je perds alors la possibilité de définir les valeurs basses et hautes, l'incrément et le quadrillage.
Merci beaucoup - cela a été très utile.
Clear Log();
x0 = -1;
tb = Text Box( "Click on a Marker", <<JUSTIFY text=""> -0.5,
Fill Color( {0, 255, 255} );
Rect( {x0, y0}, {x0 + 1, y0 + 1}, 8 );
);
For( i = 0, i <= 7, i++,
For( j = 0, j <= 3, j++,
k = 4 * i + j;
Marker( k, {j + 0.5, 8 - (i + 0.5)} );
)
);
);
gb[AxisBox( 1 )] << Max( 8 );
gb[AxisBox( 2 )] << Max( 4 );
For( i = 1, i <= 2, i++,
gb[AxisBox( i )] << show major grid( 1 ) << Min( 0 ) << inc( 1 ) << show labels( 0 ) << show major ticks( 0 ) << remove axis label()
);
New Window( "Marker Selection Grid", Lineup Box( N Col( 1 ), gb, Border Box( tb, <<SIDES></SIDES></JUSTIFY>
Re : Icônes des marqueurs graphiquesVous pouvez utiliser une zone de tableau contenant des colboxes de zones de graphique pour afficher votre zone de liste d'origine.Voici un code qui peut vous aider à démarrer :
nw = new window("test markers",
tb = tablebox(
marker_cb = col box("",
graph box(
FrameSize( 10, 10 ), Y Scale( 0, 2 ), X Scale( 0, 2 ), suppressaxes(1),
marker(15, {1, 1}),
),
graph box(
FrameSize( 10, 10 ), Y Scale( 0, 2 ), X Scale( 0, 2 ), suppressaxes(1),
marker(16, {1, 1}),
)
),
stringcolbox("Marker",
{"15", "16"}
)
)
);
tb << set selectable rows(1);
