Salut tout le monde,
J'ai une question. Si j'ai un tableau comme ci-dessous. Si je trace le TEMPS sur l'axe X et regroupe l'axe X par TYPE. Il affichera les cinq valeurs sur l'axe X pour les deux groupes, même s'il n'y a pas de données pour cela. Cela utilise inutilement l’espace graphique. Une façon est de pouvoir imbriquer l'axe X (TIME) avec la colonne TYPE, mais cela ne fonctionne que lorsque les deux colonnes sont de type nominal. Est-ce un moyen si les deux colonnes sont de type différent ?
Merci
| TEMPS | TAPER |
| 1-OCT-2018 | MAUVAIS |
| 2-OCT-2018 | MAUVAIS |
| 3-OCT-2018 | MAUVAIS |
| 1-JAN-2019 | BIEN |
| 1-JAN-2019 | BIEN |
Les plates-formes JMP fonctionnent selon les scripts des développeurs JMP. Vous pouvez modifier une liste de souhaits et peut-être qu'elle changera à l'avenir,
Je ne sais pas comment faire en sorte que GraphBuilder fasse ce que je pense que vous voulez à moins que vous ne restructuriez votre table de données. GraphBuilder n'imbriquera pas différents types de données et X-Grouping utilise la même échelle X.La seule façon de procéder est donc de faire de l'heure (Type) (variable X) de chaque groupe sa propre colonne et de les faire glisser côte à côte.Vous trouverez ci-dessous une capture de la disposition de votre table et une table divisée restructurée : Split :Time by :Type regroupant par :row et conservant toutes les colonnes.
Your specified table layout - Row # column addedYour specified table layout - Row # column addedLa disposition de votre tableau spécifiée – Colonne de ligne n° ajoutée
Date Split by Type, Grouped by row #Date Split by Type, Grouped by row # Date divisée par type, regroupée par numéro de ligne
Vous trouverez ci-dessous le GraphBuilder côte à côte créé avec le calendrier de la table fractionnée.

Voici le scénario.
Graph Builder(
Variables( X( :BAD ), X( :GOOD ), Y( :y ) ),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 21 ) ),
Smoother( X, Y, Legend( 22 ) )
)
)
Bien sûr, vous n'avez pas besoin de restructurer, vous pouvez créer de nouvelles variables via la transformation, une nouvelle variable pour chaque type puis faire glisser les variables transformées vers l'axe X, côte à côte.

Vous trouverez ci-dessous le script enregistré. Diviser la table sera le plus simple s'il y a plusieurs groupes.
Graph Builder(
Size( 856, 534 ),
Show Control Panel( 0 ),
Variables(
X( Transform Column( "Bad[TIME]", Formula( If( :TYPE == "BAD", :TIME ) ) ) ),
X(
Transform Column(
"Good[TIME]",
Formula( If( :TYPE == "GOOD", :TIME ) )
)
),
Y( :y )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 17 ) ),
Smoother( X, Y, Legend( 18 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
SendToReport(
Dispatch( {}, "Bad[TIME]", ScaleBox, {Format( "m/d/y", 10 )} ),
Dispatch(
{},
"Good[TIME]",
ScaleBox,
{Format( "m/d/y", 10 ), Min( 3629059200 ), Max( 3629232000 ),
Interval( "Numeric" ), Inc( 17.28 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 17, Level Name( 0, "y Bad", Item ID( "y", 1 ) ) ),
Legend Model( 19, Level Name( 0, "y Good", Item ID( "y", 1 ) ) )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {17, [0], 18, [-1], 19, [1], 20, [-1]} ),
Position( {0, -1, 1, -1} )}
)
)
)Vous n'avez sûrement pas compris ma réponse :
- Transformez le temps en personnage,
- Utilisez la colonne transformée dans l'imbrication.
Le graphique intégré dans mon article utilisait votre exemple, avec une variable Y aléatoire.
A l'aide de l'interface GraphBuilder, faites un clic droit sur la colonne Heure, et sélectionnez Formule et entrez cette formule Format( :HEURE, "m/j/a" ) .Cela apparaîtra maintenant dans le sélecteur de colonne comme Transformer[Temps] . Faites-le glisser vers X, puis faites glisser la colonne Type afin que Time soit imbriqué dans Type.