Comment parcourir la ligne de référence sur le graphiqueSalut,
Puis-je savoir comment effectuer l'itération pour ajouter la ligne de référence sur le graphique à l'aide du script JSL ?
Parce que maintenant je ne peux ajouter que la ligne de référence sur le graphique pour le premier onglet, les autres onglets du graphique ne peuvent pas être générés.
Quelqu'un peut-il aider ?
Merci.
Re : Comment itérer la ligne de référence sur le graphiqueVous ne comprenez pas comment fonctionne le pointeur vers chacun de vos graphiques de variabilité. Vous utilisez le code suivant :
vchart = dt_raw_dataset << Variability Chart(
Y( Eval( IAT[i] ) ),
X( :Name( "Lot" ), :Name( "Fab Lot" ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
Vous parcourez ce code plusieurs fois. Vous pensez que vous pouvez référencer la sortie dès la première fois en utilisant le code
vc = vchart[m] << Report;
Ce n’est pas une hypothèse valable. Au lieu de cela, chaque fois que vous utilisez la variable de mémoire "vchart", elle n'ajoute pas de nouvelle valeur à une liste de valeurs de vchart, elle modifie en fait la valeur de "vchart" en une nouvelle valeur. Par conséquent, vous obtenez exactement ce que vous déclarez. Un seul des graphiques comporte des lignes de référence. Autrement dit, c'est parce qu'il pointe uniquement vers la dernière instance du graphique de variabilité.
Ce qu'il faut faire, c'est changer votre code afin qu'au lieu d'utiliser "vchart" pour chaque instance de graphique de variabilité, quelque chose comme "vchart1" pour la première, "vchart2" pour la seconde, etc.
Et puis, lorsque vous générez les lignes de référence, vous pouvez alors pointer vers la première, la deuxième, .....instance du graphique de variabilité.
Ce que vous devez faire est de créer une liste pour stocker chacun de vos pointeurs vchart et vous pourrez ensuite les rappeler plus tard.
dt = Current Data Table();
dd = {};
ow = Oneway( Y( :height ), X( :sex ) );
dd[1] = ow;
ow = Oneway( Y( :weight ), X( :sex ) );
dd[2] = ow;
rpt = Report( dd[1] );
rpt[AxisBox( 1 )] << Add Ref Line( 65 );
rpt = Report( dd[2] );
rpt[AxisBox( 1 )] << Add Ref Line( 120 );
Ce même type de méthodologie que vous pouvez développer pour produire les lignes de référence, etc.
Re : Comment itérer la ligne de référence sur le graphiqueSalut,
En fait, dans chaque onglet, j'ai 5 graphiques.
Eh bien, dans chacun des graphiques, j’ai besoin de 5 lignes de référence.
Pour la partie de couleur rouge, je peux générer la ligne de référence sur le graphique pour un seul onglet, les 4 autres onglets du graphique, je ne parviens pas à générer la ligne de référence.
Mais lorsque j'exécute l'intégralité du script, il ne me montre aucune erreur, donc je ne sais pas comment y remédier.
Merci.
variabilityWindow = New Window( "Variability Chart", tb = Tab Box() );
For( i = 1, i <= N Items(distinctFamilyDevice), i++,
// Create a new tab and append the variability charts
tb << Insert(
distinctFamilyDevice[i],
VListBox(
vchart = dt_raw_dataset << Variability Chart(
Y( Eval(IAT[i]) ),
X( :Name( "Lot" ), :Name( "Fab Lot" ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
)
);
);
For(m = 1, m <= N Items(IAT), m++,
vc = vchart[m] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(-1.5,"Dashed",red,"-1.5 Sigma",2);
axisbox << Add Ref Line(1.5, "Dashed", red, "1.5 Sigma", 2);
axisbox << Add Ref Line(0, "Solid", red, "Target", 2);
axisbox << Add Ref Line(-3, "Dotted", red, "-3 Sigma", 2);
axisbox << Add Ref Line(3, "Dotted", red, "3 Sigma", 2);
);
Re : Comment itérer la ligne de référence sur le graphiqueJe crains que vous ne publiez toujours pas suffisamment de détails sur le problème que vous rencontrez pour que nous puissions vous proposer une solution efficace.
Pouvez-vous construire un exemple simple en utilisant l'un des exemples de données qui démontre les techniques que vous essayez ?
Nous devons savoir exactement quel code vous avez essayé, dans un exemple complet et exécutable, et exactement quel problème vous avez rencontré. Autrement dit, avez-vous reçu un message d'erreur ? Le code s'est-il comporté de manière inattendue ? Avez-vous obtenu une ligne de référence sur un graphique ? Toutes les lignes sur le même graphique ? Bref, plus de détails, s'il vous plaît.
Voici un exemple utilisant les exemples de données qui montre une méthode de base pour accomplir. Peut-être pouvez-vous étendre cet exemple pour démontrer la difficulté que vous rencontrez.
dt = Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
collist = {:NPN1, :NPN2, :NPN3, :NPN4};
varcharts = {};
tb = Tab Box();
For( i = 1, i <= N Items( collist ), i++,
tb << Insert(
collist[i] << get name,
V List Box(
varcharts[i] = dt << Variability Chart(
Y( collist[i] ),
X( :wafer ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" )
)
)
);
);
for(i=1, i<=nitems(varcharts),i++,
vc = varcharts[i] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(110,"Dashed",blue,"-1.5 Sigma",2);
);
new window("My Window", tb);

Re : Comment itérer la ligne de référence sur le graphiqueMerci @Jeff_Perkinson et @txnelson pour répondre.
Mais je n'arrive toujours pas à résoudre mon problème.
Je n'arrive toujours pas à faire en sorte que chaque onglet de ses graphiques ait la ligne de référence.
J'ai vraiment essayé moi-même, alors puis-je demander s'il existe d'autres moyens de créer chaque onglet du graphique pouvant générer la ligne de référence ?
Merci.
Re : Comment itérer la ligne de référence sur le graphiqueJe vous encourage à regarder le Propriété de colonne d'axe . Si vous ajoutez cette propriété à votre colonne, chaque graphique utilisant cette colonne aura les mêmes paramètres d'axe, y compris les lignes de référence.
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
Column( dt, "weight" ) <<
Add Column Properties(
Set Property(
"Axis",
{Add Ref Line( 100, "Solid", "Black", "", 1 )}
)
);
dt << Bivariate( Y( :weight ), X( :height ), Fit Line );Re : Comment itérer la ligne de référence sur le graphiqueVoici un exemple très simple.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
nw = New Window( "Tab Test",
mytab = Tab Box(
t1 = Tab Page Box( "One", onebiv = dt << Bivariate( Y( :weight ), X( :height ) ) ),
t2 = Tab Page Box( "Two", twobiv = dt << Bivariate( Y( :weight ), X( :age ) ) )
)
);
report(onebiv)[AxisBox(1)]<<ADD ref="" line=""></ADD>
Re : Comment itérer la ligne de référence sur le graphiqueSalut,
Pour créer les onglets,
tb << Insert(
distinctFamilyDevice[i],
VListBox(
dt_raw_dataset << Variability Chart(
Y( Eval(IAT[i]) ),
X( :Name( "Lot" ), :Name( "Fab Lot " ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
Alors que pour créer les lignes de référence, j'ai essayé d'utiliser la fonction expr, mais tout le script pour utiliser la fonction expr ne fonctionne pas. Donc, je ne l'utilise pas.
J'utilise maintenant le code ci-dessous, qui peut générer une ligne de référence, mais qui ne concerne que le premier onglet du graphique.
vc = Variability Chart[i] << Report;
axisbox = vc [axisbox(1)];
axisbox << Add Ref Line(-1.5,"Dashed",blue,"-1.5 Sigma",2);
axisbox << Add Ref Line(1.5, "Dashed", blue, "1.5 Sigma", 2);
axisbox << Add Ref Line(0, "Solid", blue, "Target", 2);
axisbox << Add Ref Line(-3, "Dashed", red, "-3 Sigma", 2);
axisbox << Add Ref Line(3, "Dashed", red, "3 Sigma", 2); La plate-forme de création du graphique est un graphique de variabilité.
Merci.
Re : Comment itérer la ligne de référence sur le graphiqueNous aurons besoin de plus d’informations afin de vous orienter dans la bonne direction.
Comment créez-vous vos onglets ? Quel JSL avez-vous essayé de mettre des lignes de référence sur les graphiques dans les autres onglets ?
Quelle plateforme utilisez-vous pour créer vos graphiques ?