Générateur de graphiques : comment créer des tracés empilés avec un certain déplacement pour chaque sérieBonjour - J'ai un tableur dans Excel qui génère un tracé de plusieurs séries toutes empilées et décalées les unes des autres, mais permet également aux répliques d'avoir un espacement plus serré, comme indiqué ci-dessous :

Cependant, cela nécessite plusieurs feuilles et une refonte quelque peu manuelle du déplacement à chaque fois, ainsi qu'un ajustement constant des couleurs car c'est difficile à contrôler dans Excel. JMP serait mille fois plus simple.
Existe-t-il un moyen dans le générateur de graphiques (ou, pour éviter le problème XY, ailleurs dans JMP) qui permettra la facilité d'un glisser-déposer pour y parvenir ? Même s'il y a un bricolage manuel avec l'espacement requis, la barre de déplacement dans le générateur de graphiques rendrait les choses beaucoup plus faciles. Je ne semble pas pouvoir le recréer, mais peut-être qu'il me manque juste quelque chose et j'ai pensé demander.
Merci!
Automatisation et scriptsExploration et visualisation des donnéesPartager et communiquer les résultatsles fenêtresRe : Graph Builder : Comment créer des tracés empilés avec un certain déplacement pour chaque sérieVous pouvez utiliser une colonne de formule sur l'axe y où vous ajoutez une colonne de couleur × un facteur d'échelle aux valeurs y d'origine.Re : Graph Builder : Comment créer des tracés empilés avec un certain déplacement pour chaque sérieLes répliques sont-elles des répliques exactes les unes des autres ?
Re : Graph Builder : Comment créer des tracés empilés avec un certain déplacement pour chaque sérieSalut @ehchandler ,
Voici un code JSL qui fera une partie du travail : il ajoute facilement un décalage fixe à chaque spectre et ajoute la même quantité à chaque spectre supplémentaire. Donc pour le premier spectre, il n'y a pas de décalage, mais ensuite pour chaque spectre supplémentaire, ils obtiennent un décalage de n*5000, j'en ai utilisé 500 dans mon cas -- j'ai utilisé l'exemple de table de données NMR DoE.jmp et je l'ai transposé pour obtenir des colonnes de spectres, c'est-à-dire, je suppose, comment votre tableau de données est structuré plutôt que des lignes en tant que spectres et des colonnes en tant que longueurs d'onde. Quoi qu'il en soit, vous devriez pouvoir modifier ce code pour qu'il fonctionne au mieux avec votre structure de données et vos tables de données. Je joins le code et un exemple de tableau de données modifié pour que vous puissiez voir. Voici les résultats. Vous pouvez ensuite entrer manuellement et modifier le décalage pour toutes les répétitions ou spectres spécifiques dont vous avez besoin.
Le graphique du haut est sans décalage et le graphique du bas est avec un décalage. Le codage couleur est automatique par JMP.

Voici le code :
Names Default To Here( 1 );
dt = Current Data Table(); //assigns current data table to variable dt
ColNames = dt << Get Column Names; //gets a list of column names
offset = 5000;
//This generates a new column for each spectra with the column name + Offset to it
For( i = 2, i <= N Items( ColNames ), i++,
If( i == 2,
offset = 0, // no offset for the first spectrum
offset = 5000 //offset amount for each additional spectrum
);
Eval( Eval Expr( dt << New Column( Colnames[i] || " Offset", Formula( Expr( As Name( ColNames[i] ) ) + (Expr( (i - 2) * offset )) ) ) ) ); //the (i-2) is so the second spectrum is offset only by 5000 and not 10000
);
Une méthode lente mais infaillible consisterait à créer de nouvelles colonnes et à générer manuellement la formule pour chaque colonne, mais cela fonctionnerait de la même manière.
J'espère que cela t'aides!,
DS
Re : Graph Builder : Comment créer des tracés empilés avec un certain déplacement pour chaque série@txnelson Dans mon cas, j'ai environ 50 variables que je pourrais utiliser pour définir la série de séries. Je pense que ces deux images sur la photo que j'ai partagée sont de véritables répliques, mais ce que je recherche ne nécessiterait pas que deux lignes entières soient identiques pour correspondre.
Je suppose que si je devais le concevoir, il aurait peut-être une boîte de dépôt pour une variable "série", pour tester si une série doit correspondre (et apparaître plus près ou non). Je suppose que cette variable de série devrait également avoir la possibilité de colorer les points, ou de modifier la taille, ou autre chose. Et puis peut-être un curseur pour ajuster le facteur d'échelle @hogi mentionné pour l’écart entre les deux.
Je suis presque sûr que ce que je viens de décrire n'est pas possible actuellement dans JMP, alors... Problème XY avec la liste de souhaits que je viens de donner, mais j'espère que cela clarifie ce que je recherche et peut-être existe-t-il un moyen graphique de le faire ? Sinon, @hogi La méthode fonctionnerait.
Re : Graph Builder : Comment créer des tracés empilés avec un certain déplacement pour chaque sérieOh intéressant. Oui, cela le ferait, même si ce n'est pas une solution de création de graphiques. Je me demande s'il existe un moyen de sélectionner dynamiquement la série de couleurs et le facteur d'échelle en fonction de la variable *series* qui indique à jmp quelles lignes se trouvent dans quelle série. Hmmmmmm. Il faudra que je réfléchisse à celui-là.
Re : Graph Builder : Comment créer des tracés empilés avec un certain déplacement pour chaque sérieSalut @ehchandler ,
Pour autant que je sache, il n'existe aucun moyen dynamique (c'est-à-dire en utilisant Graph Builder seul) de créer des spectres de décalage comme vous le souhaitez, autre que la création manuelle de nouvelles formules de colonne qui prennent la colonne d'intérêt et ajoutent un décalage fixe. Mais c’est exactement ce que fait mon script de manière automatisée, ce qui vous fera gagner un temps considérable. En fait, si vous comptez faire cela souvent et de manière répétée, j'envisagerais de créer des scripts avec JSL pour le faire de manière automatisée pour vous. Vous gagnerez des TONNES de temps grâce à la manipulation dynamique du graphique. Parfois, il est nécessaire de configurer d'abord une analyse ou un graphique de manière dynamique pour apprendre à le scripter, mais une fois que vous l'avez et que vous pouvez lui appliquer d'autres tables de données, il est beaucoup plus rapide de laisser le code JSL le faire pour vous.Avec les scripts, vous pouvez attribuer à chaque spectre une couleur spécifique, et vous pouvez le faire en fonction du numéro de colonne dans le tableau de données, par exemple :
Selon le Guide de script JMP JSL v16 , pp. 660-662, les schémas de couleurs standard JMP sont :

Et puis chacune de ces couleurs peut être ultérieurement modifiée en les rendant claires, moyennement claires, moyennement foncées et sombres :

Ou, si vous souhaitez modifier le jeu de couleurs global, vous pouvez aller sous Fichier > Préférences, sélectionner Graphiques en haut (à gauche), puis cliquer sur le jeu de couleurs appelé "Catégorique", en bas à droite.

Vous obtenez alors un écran comme celui-ci, et par exemple, si je choisis le style chromatique du bas et que je trace à nouveau les spectres, cela ressemble à ceci (l'ordre peut également être inversé) :


Le seul inconvénient de cette méthode est qu'il s'agit désormais du jeu de couleurs global pour tous les graphiques de JMP, et non plus seulement pour celui sur lequel vous travaillez. Vous pouvez toujours revenir en arrière et le modifier dans les Préférences si vous le souhaitez.
Ou, une fois que vous obtenez le graphique comme vous le souhaitez, vous pouvez toujours cliquer avec le bouton droit sur un spectre de votre choix, puis sélectionner Couleur de ligne et choisir n'importe quelle couleur prédéfinie affichée, ou même Autre... dans une palette de couleurs plus grande. Mais cela peut être lent si vous avez beaucoup de spectres.

Il existe de nombreuses façons d'accomplir les mêmes choses dans JMP, ce qui est génial, et cela dépend en quelque sorte de vos besoins spécifiques et de votre objectif final quant à la méthode qui pourrait fonctionner le mieux.
J'espère que cela t'aides!,
DS