J'essaie de dessiner sur un graphique une courbe.Mais cette courbe est différente pour certains ensembles de variables.Je me demande si quelqu'un a un bon moyen de modifier yfunction() en fonction de ce qui est sélectionné dans un filtre de données local.Par exemple, si je change d'âge de 12 à 13 ans, ci-dessous, je veux une onde cosinus au lieu d'une onde sinueuse ou quelque chose comme ça.
Remarque : c'est pour JMP live, donc je ne pense pas que les gestionnaires de changement de filtre fonctionnent là-bas.À l'origine, je les traçais tous avec une variable par dessin sur chacun individuellement, mais cela ne fonctionne tout simplement pas sur JMP live non plus et je ne comprends pas pourquoi.
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt << Graph Builder(
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 43 ) ), Smoother( X, Y, Legend( 44 ) ) ),
Local Data Filter(
Add Filter(
columns( :age ),
Where( :age == 12 ),
Display( :age, N Items( 6 ) )
)
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 47.4910973084886 ), Max( 78.4293207137927 ), Inc( 5 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 43.4685580652897 ), Max( 152.924994106993 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
5,
Description( "" ),
Pen Color( "red" );
Pen Size( 3 );
Y Function(
49.5348183760347 + 101.831529865667 / 2 * (1
+Sine( (2 * Pi() * (x - 50)) / 16.6 )),
x
);
)}
)
)
);
Cet objectif est facile si vous ne vous souciez pas de la journalisation. Vous pouvez simplement employer une fonction utilisateur dans l'appel à Y Function() et la définir en dehors du lancement de Graph Builder. Utilisez ensuite un gestionnaire d'état avec le filtre de données pour définir une nouvelle fonction et envoyer la boîte de trame << Reshow.
Si vous avez besoin de journaliser, vous ne voulez pas utiliser de variables. Dans ce cas, j'ajouterais un script graphique qui n'utilise que des valeurs littérales, puis j'en supprimerais et en ajouterais un nouveau basé sur le filtre.
S'amuser!
Cela ne fonctionnerait pas pour JMP live, n'est-ce pas ?D'après ce que j'ai vu, JMP live n'aime VRAIMENT pas les scripts.Je vais essayer de toute façon.
Je suis presque sûr que JMP Live n'exécute pas de scripts utilisateur arbitraires (peut-être aucun) sur le serveur.
Quit();
ou
while( 1, 0 );
ou
x = j( 4e9, 1, 0);
ou
wait( 1e6 );
chacun pouvant apparaître dans un script graphique, perturbant le comportement du serveur.
Le cas d'utilisation de JMP Live consiste à laisser votre public découper les données à l'aide des outils intégrés de JMP via une interface graphique que vous créez.
- relier des graphiques pour un comportement de sélection entre les graphiques
- utiliser un filtre de données pour créer des sous-ensembles de données
- explorer les sous-ensembles (peut-être... cela fait longtemps que je n'ai pas regardé JMP Live... en fait le Publique version.)