Bonjour à tous,
J'utilise JMP15 depuis 1 an mais je commence à peine à m'intéresser aux scripts.
Je voudrais écrire un script pour afficher les lignes de références dans un graphique, basé sur un tableau.
J'ai 2 tables : data (sur lesquelles j'exécute le script, pour tracer value=f(time)) et dates, contenant une colonne avec des dates correspondant aux lignes de références que j'aimerais avoir dans le graphique.
Ces tableaux sont joints à mon message.
Voici mon script actuel, affichant une ligne de référence basée sur le premier élément des dates du tableau, la date de la colonne.
ref1 = dates:name( "date" )[1];
Graph Builder(
Variables( X( :time ), Y( :value ),Page(:cat) ),
Elements( Points( X, Y, Legend( 4 ), Summary Statistic( "Mean" ) ) ),
SendToReport( Dispatch( {}, "time", ScaleBox( 2 ), {Add Ref Line( ref1, "Dotted", "Red", "", 2 )} ) )
);Je voudrais créer une boucle "For" pour créer automatiquement des lignes de référence pour chaque valeur de la table "dates".
Voici ce que j'ai essayé :
ref1 = dates:name( "date" )[1];
Graph Builder(
Variables( X( :time ), Y( :value ),Page(:cat) ),
Elements( Points( X, Y, Legend( 4 ), Summary Statistic( "Mean" ) ) ),
SendToReport( Dispatch( {}, "time", ScaleBox( 2 ),
{
For( i = 1, i <= N row( dates), i++,
f = dates [ i ];
Add Ref Line( f, "Dotted", "Blue", "", 2 )
);
})
);Mais lorsque j'exécute le script, aucune ligne de référence n'apparaît.
Comment puis-je résoudre ce problème ?
Dernière question : si je n'ajoute pas "Page(:cat)" dans les variables du graphe, aucune ligne de référence n'apparaît...
Merci de votre aide !!
Bienvenue dans la communauté de discussion !
Voici une façon d'ajouter les lignes de référence

La documentation sur l'utilisation des arborescences d'affichage pour manipuler la sortie JMP se trouve dans l'index de script.
Names Default To Here( 1 );
dt = Data Table( "data" );
dates = Data Table( "dates" );
ref1 = dates:name( "date" )[1];
gb = Graph Builder(
Variables( X( :time ), Y( :value ), Page( :cat ) ),
Elements( Points( X, Y, Legend( 4 ), Summary Statistic( "Mean" ) ) ),
SendToReport(
Dispatch( {}, "time", ScaleBox( 2 ), {Add Ref Line( ref1, "Dotted", "Red", "", 2 )} )
)
);
// Add reference lines
For( i = 1, i <= N Rows( dates ), i++,
// Add for Cat = B
(Report( gb )[axisbox( 1 )]) << add ref line( dates:date[i], "Dotted", "Blue", "", 2 );
// Add for Cat = C
(Report( gb )[axisbox( 3 )]) << add ref line( dates:date[i], "Dotted", "Blue", "", 2 );
);
Merci Jim pour votre réponse rapide, vraiment utile!