Lors de la génération d'un graphique dans Graph Builder, l'axe des Y est correctement mis à l'échelle jusqu'aux points de données les plus éloignés. Cependant, cette opération ne prend pas en compte les valeurs limites de spécification, qui se situent généralement en dehors des données les plus éloignées. Il est donc possible qu'une limite de spécification ne soit pas visible.
Existe-t-il un paramètre, un bouton, une méthode ou (de préférence) un moyen JSL simple de régler l'échelle de l'axe Y par défaut sur la limite de données et de spécifications la plus éloignée ? (Une méthode brutale consisterait à vérifier en boucle les valeurs minimales et maximales de toutes les limites de données et de spécifications, puis à définir la plage de l'axe juste au-delà de ces valeurs. Mais j'espère éviter cela.)
Exemple de graphique ci-dessous montrant la limite LSL à partir du 4e des 5 diagrammes en boîte.
Votre axe x provient-il de 5 colonnes différentes ou d'une colonne ordinale/nominale à 5 niveaux ?
La case « Afficher les limites » est-elle cochée dans la propriété de la colonne « Limites des spécifications » ? Si elle est cochée et que le paramètre de l'axe Y n'est pas spécifié, les limites des spécifications sont affichées par défaut.
Quelle version de JMP, quel système d'exploitation ?
Merci, Jim. JMP Pro 17.2.0 sur macOS. Il y a cinq colonnes différentes, mais le script est en fait construit par un autre script JSL, il pourrait donc être légèrement différent (voir ci-dessous).
Il semble que le paramètre de l'axe Y ne soit pas spécifié. Dans les propriétés de la colonne, je vois « Afficher comme lignes de référence du graphique » (si c'est bien ce à quoi vous faites référence). Cependant, cocher cette case, puis créer un nouveau graphique via le Générateur de graphiques, ne semble pas résoudre le problème.
Peut-être est-il possible de suggérer un morceau de JSL dans le script ci-dessous pour activer la fonctionnalité que vous décrivez ?
Graph Builder(
Size( 1000, 700 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X(
"stage_10",
Combine( "Parallel Merged" )
),
X(
"stage_2",
Position( 1 ),
Combine( "Parallel Merged" )
),
X(
"stage_4",
Position( 1 ),
Combine( "Parallel Merged" )
),
X(
"stage_5",
Position( 1 ),
Combine( "Parallel Merged" )
),
X(
"stage_6",
Position( 1 ),
Combine( "Parallel Merged" )
)
),
Elements(
Box Plot(
X( 1 ),
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
Legend( 3 ),
Jitter( "Random Normal" )
),
Caption Box( X( 1 ), Legend( 4 ), Summary Statistic( "N" ) )
),
SendToReport(
Dispatch(
{},
"stage_10",
ScaleBox,
{Label Row(
{Tick Mark(
Label( "stage_10" ),
Label( "10" )
), Tick Mark(
Label( "stage_2" ),
Label( "2" )
), Tick Mark(
Label( "stage_4" ),
Label( "4" )
), Tick Mark(
Label( "stage_5" ),
Label( "5" )
), Tick Mark(
Label( "stage_6" ),
Label( "6" )
), Set Font Size( 14 ), Label Orientation( "Horizontal" )}
)}
),
Dispatch( {}, "", ScaleBox, {Label Row( Set Font Size( 14 ) )} ),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "My Graph" )}
),
Dispatch( {}, "X title", TextEditBox, {Set Text( "" )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg( Text Seg( 1 ), {Font( "Helvetica", 18 )} )}
)
)
)
Spécifier plusieurs variables pour l'axe des X semble annuler la mise à l'échelle automatique des limites de spécification. La seule solution que je vois serait d'ajouter à votre JSL le paramètre Y pour définir les valeurs minimales et maximales de l'axe ;