Note de l'auteur: L'exemple d'aujourd'hui s'applique à une carte créée dans Graph Builder, mais vous pouvez utiliser cette approche dans la plupart des plates-formes de JMP.
Dans la première partie de cette série en deux parties, j'ai présenté un exemple de prise en charge des images dans les tableaux de données dans JMP 12. Aujourd'hui, je vais vous montrer comment cette fonctionnalité vous permet de créer des rapports et des graphiques multicouches dans Graph Builder, avec juste un peu de script.

Sur la carte ci-dessus, chaque état est coloré par sa température moyenne - le bleu est plus froid, le rouge est plus chaud. Le survol de n'importe quel état révèle un graphique de l'évolution de la température dans le temps. Ici, nous avons le meilleur des deux mondes: un aperçu des données facilement assimilable, avec des détails supplémentaires cachés mais immédiatement disponibles.
Graph Builder dans JMP nous permet de sauvegarder des images des graphiques qu'il crée dans des tableaux de données, mais le graphique de tendance ci-dessus n'a pas été créé dans Graph Builder - il a été créé à l'aide du tracé de superposition. Que se passe-t-il lorsque nous voulons enregistrer des images créées en dehors de Graph Builder?
Heureusement, un peu de JSL est tout ce dont nous avons besoin. Dans l'exemple d'aujourd'hui, nous allons parcourir le code nécessaire pour créer une carte comme celle ci-dessus.
Examinons d’abord les données brutes: les températures annuelles moyennes pour chacun des 50 États américains. Ceci est notre table source et sera utilisé pour créer les graphiques de tendance.

La carte elle-même s'appuie sur le tableau ci-dessous. Pour le créer, nous allons:
Résumez le tableau d'origine en faisant la moyenne des températures par État.Créer une nouvelle colonne, de Expression type de données, pour héberger les images des courbes de tendance créées à partir de la table d'origine.Copiez les images de chaque graphique de tendance dans le tableau récapitulatif.Activer l’étiquetage pour le Etat et Moyenne (Temp F) colonnes, pour les révéler lorsque nous survolons la carte.
Pas à pas, voici à quoi cela ressemble en JSL.

La ligne 1 affecte un descripteur à la table source.Les lignes 3 à 11 créent le rapport de tracé de superposition.La ligne 13 attribue un descripteur au tracé de superposition afin que nous puissions référencer les zones de contour individuelles qu'il contient.Après avoir exécuté le code ci-dessus, le rapport ressemble à ceci. (Si votre rapport diffère, cela peut être dû à des différences dans nos paramètres de préférence.)

Les quatre lignes suivantes de JSL créent le tableau récapitulatif et le préparent pour une utilisation avec les images.

La ligne 15 crée le tableau récapitulatif.La ligne 17 supprime le N lignes colonne du tableau récapitulatif.La ligne 19 crée une nouvelle colonne, Graphique , du type de données d'expression.La ligne 21 active les propriétés d’étiquetage des colonnes pour Etat et Graphique colonnes.Il ne reste plus qu'à parcourir le rapport en sauvegardant les images dans le tableau récapitulatif.

Après avoir initialisé notre compteur dans la ligne 23, nous parcourons une boucle. Étant donné que le 1 de la ligne 25 indique toujours «Vrai», nous devrons avoir un moyen de sortir de la boucle lorsque nous en aurons besoin. La déclaration Try (…,…) nous permet de le faire.Try (…,…) essaiera de traiter le code qui apparaît avant la virgule. Si une erreur est rencontrée, il traite le code après la virgule (ou ignore simplement l'erreur s'il n'y a pas de code après la virgule - le deuxième argument est en fait facultatif.)Ici, la ligne 27 tente d'obtenir une poignée sur la zone de contour actuelle du rapport, tandis que la ligne 28 prend une photo de cette zone et enregistre l'image dans la ligne actuelle du tableau de synthèse. Étant donné que le tableau récapitulatif et le rapport trient les états dans l'ordre alphabétique, cette approche simple fonctionne.La ligne 32 incrémente l'index afin que, lors de la boucle suivante, nous essayions d'obtenir la zone de contour suivante. Finalement, l'index atteint 51, et comme Rep [Outlinebox (51)] n'existe pas, nous obtenons une erreur et passons à la 2ème moitié de l'instruction Try (…,…), en sortant de la boucle via Break ().Le tableau récapitulatif devrait maintenant ressembler à ceci:

Pour créer la carte, appelez Graph Builder et faites glisser les colonnes State et Temperature vers les zones Shape et Color, respectivement. C'est tout ce qu'on peut en dire!

J'espère que vous avez apprécié le post d'aujourd'hui; Je suis impatient de voir et d'entendre parler des applications intéressantes que vous allez proposer!
PS j'ai placé le table source et fichier de script dans le Echange de fichiers de la communauté d'utilisateurs JMP . (Un profil SAS gratuit est nécessaire pour accéder aux fichiers.)