Problèmes de tracé de lignes et de flèches sur les graphiquesJe fais quelques expériences pour comprendre comment dessiner des lignes et des flèches sur un graphique en JSL. Le Guide de script ne m'a pas été d'une grande aide et je n'ai rien vu de publié précédemment dans la communauté. J'ai téléchargé mon script JSL et mon tableau de données ci-dessous.
Dans le tableau de données, j'ai calculé les coordonnées d'un cercle unité à 5 degrés d'intervalle. Je les ai tracées avec Graph Builder…

Au départ, je voudrais créer un script avec une flèche reliant l'origine à chaque point. Voici le script que j'utilise. Je n'obtiens aucune erreur à l'exécution, mais il ne dessine jamais les flèches. J'ai essayé de placer la boucle FOR dans le bloc Graph Builder, comme illustré ici, et également en dehors du bloc. Je n'arrive pas à faire fonctionner les deux.
Names Default To Here (1);
dt = "Circle Arrow Data";
Graph Builder(
Size( 540, 540 ),
Graph Spacing( 10 ),
Spacing Borders( 1 ),
Variables( X( :x coord ), Y( :y coord ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
For( i=0, i<360, i+=5,
Arrow( {0,:x coord[i]}, {0, :y coord[i]})
)
);
Mon objectif final est de n'afficher les flèches que lorsqu'une ou plusieurs lignes sont sélectionnées, mais il faut évidemment que cela fonctionne d'abord. Il s'agit en réalité d'afficher la direction du vent sur un graphique, mais je commence à comprendre progressivement comment dessiner sur des graphiques.
Merci d'avance pour toute orientation fournie.
Automatisation et scriptsRé: Problèmes de tracé de lignes et de flèches sur les graphiquesexcellent timing : )
nouveautés dans JMP19 :
Les graphiques vectoriels peuvent-ils aider à expliquer les performances du dernier Super Bowl ?

New Column( "x_0", Formula( 0 ));
New Column( "y_0", Formula( 0 ));
Graph Builder(
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) ),
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
Ordering( "Within Row" ),
Connection( "Arrow" )
)
)
);
Ré: Problèmes de tracé de lignes et de flèches sur les graphiquesSalut @hogi, merci pour le script. Il fonctionne très bien.
J'essaie de comprendre... alors quelques questions.
1) À quoi sert le paramètre Position ?
2) D'où viennent les 1 et 2 dans les arguments X et Y ?
3) À quoi sert l'ordre (« Dans la ligne ») ?
Il semble y avoir une documentation très incomplète sur ces fonctions dans l'aide aux scripts et l'index des scripts.
Encore merci.
Ré: Problèmes de tracé de lignes et de flèches sur les graphiquesJe suis d'accord, l'index de script n'est pas aussi bon que ceux d'autres programmes comme Mathematica ou Matlab, ou l'énorme documentation en ligne pour Python et C++. Il existe quelques activités pour améliorer la situation : Index de script complet
D'un autre côté, vous pouvez apprendre beaucoup de choses en faisant . Ouvrez simplement Graph Builder et créez votre graphique par glisser-déposer. Cela ne prend que quelques secondes, et l'optimisation du tracé en prend encore quelques secondes. Ensuite, cliquez sur « Enregistrer le script dans la table de données » et comparez vos résultats avec ceux du code.
- L'ordre des lignes est une nouvelle fonctionnalité de JMP19. Il peut être utilisé lorsque des ensembles de coordonnées sont utilisés pour les axes X et Y.
et c'est la nouvelle option par défaut pour ce cas
[attention : le graphique ne change pas lorsque j'active l'option]
- let's drag the coordinates into the plot, first x_0 and y_0
Variables( X( :x_0 ), Y( :y_0 ) ),
- then x_coord / y_coord
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) )
- now, we just have to activate the line plot. By default, it uses all available coordinated:
X(1) is x_0
X(2) is x_coord
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
)
)
we can also deactivate variables via:
Ensuite, le code se réduira à :
Elements(
Line( X( 1 ), Y( 1 ),
Des tracés avec des lignes et des flèches reliant plusieurs coordonnées : une grande amélioration dans JMP19.
Tracés avec lignes et flèches reliant plusieurs coordonnées. Une nette amélioration dans JMP19 !
Imaginez qu'au lieu de flèches, vous souhaitiez tracer trois ensembles de coordonnées (points) sur un même tracé. Vous devez ensuite ajouter trois points au graphique et désactiver les « autres » coordonnées trois fois. Ça marche, mais c'est compliqué !

Imaginez si vous vouliez tracer dix ensembles de coordonnées !
L’étape logique suivante serait de copier la nouvelle fonctionnalité « dans la ligne » pour pointer les tracés.
Plusieurs ensembles de données x et y tracés sous forme de « paires » sans avoir à empiler les colonnes
J’espère vraiment que cette fonctionnalité sera bientôt implémentée !
Ré: Problèmes de tracé de lignes et de flèches sur les graphiquesLes arguments 1 et 2 des fonctions X et Y sont donc dans l'ordre où ils sont listés dans la fonction variables ? Ai-je bien compris ?
Alors, que fait Position(1) dans la fonction Variables ? Il semblerait que cela rende les coordonnées :x et y : égales à 1, et non x_0 et y_0.
Désolé. C'est un peu déroutant pour moi.
Ré: Problèmes de tracé de lignes et de flèches sur les graphiquesAhhh... J'ai donc retiré la position (1) et exécuté le script. Voilà ce que j'ai obtenu...

Ainsi, la façon dont les variables sont ajoutées produit quatre graphiques distincts. La commande « Position » permet de sélectionner les graphiques à afficher.
Je pense que c'est vrai...
Je vais m'amuser un peu avec ça. Ça ferait un super tutoriel vidéo.
Merci pour toute votre aide à ce sujet
Ré: Problèmes de tracé de lignes et de flèches sur les graphiques: )
Comme promis, il est vraiment facile d'apprendre à partir des scripts « en faisant » !
De plus, il y a de fortes chances que de cette façon, l'apprentissage soit beaucoup mieux retenu.:)
Ré: Problèmes de tracé de lignes et de flèches sur les graphiquesOui, je suis d'accord. Mais parfois, il est encore difficile de comprendre ce qui se passe.
Par exemple, j'ai remplacé Position(1) par Position(2) pensant que cela afficherait un quadrant différent du graphique. Mais… cela n'a eu aucun effet. Le 1 de Position(1) est donc probablement un booléen.
Je ne trouve rien à ce sujet, ni en ligne, ni dans l'index des scripts, ni dans l'aide en ligne. Je cherche peut-être au mauvais endroit.
En tout cas, merci encore.
Ré: Problèmes de tracé de lignes et de flèches sur les graphiquesAu lieu d'essayer d'écrire le code et de vérifier comment il fonctionne...
Essayez l’approche inverse :
Après avoir créé un tracé complexe dans Graph Builder, inspectez le code et tirez des conclusions :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables(
X( :height ),
Y( :name ),
Y( :weight ),
Y( :height, Position( 2 ) ),
Y( :age ),
Overlay( :sex )
),
Elements( Position( 1, 1 ), Points( X, Y ) ),
Elements(
Position( 1, 2 ),
Points( X, Y( 1 ), Y( 2 ), Legend( 1 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Legend( 2 ) )
),
Elements( Position( 1, 3 ), Points( X, Y ) )
);
s'il n'y a que 2 éléments, il n'y a pas de différence entre ajouter une deuxième entrée et ajouter une deuxième entrée en tant que deuxième .
La position (2) est pertinente pour trois éléments ou plus. Par défaut, le troisième élément est ajouté comme troisième. Si vous souhaitez effectuer une autre opération, vous pouvez l'ajouter à la position (2).