Comment ajouter plusieurs données au même graphique ?Bonjour/après-midi à tous.
J'ai l'impression que cela devrait être vraiment très simple, mais j'ai du mal à trouver comment faire cela.Dans OriginPro, c'est vraiment facile, mais je dois utiliser JMP pour le travail pour la première fois et je suis donc un novice total avec ce programme.
Le problème : J'ai deux ensembles de données XRD.Un d'une machine plus ancienne, un d'une toute nouvelle machine.Les données sont prises sur le même domaine, d'environ -6000 à +3000 secondes d'arc.Cependant, l'espacement des points de données est différent entre les deux machines.
J'ai donc ces deux jeux de données et je dois les superposer sur le même tracé.Les définitions de x (angle en secondes d'arc) et y (intensité en CPS) sont les mêmes.
Pour les deux ensembles de données, la réflexion principale se produit à environ 0 seconde d'arc (comme prévu).Vous trouverez ci-joint des graphiques de données provenant des deux machines (D1 et V1).
J'ai essayé d'utiliser Graph Builder pour ajouter ces données au même graphique, pour les superposer les unes sur les autres.J'ai essayé de faire glisser les deux domaines x vers l'axe x, mais cela n'entraîne pas le comportement souhaité.Plutôt que de tracer D1 par rapport à "c'est" x et V1 de tracer "c'est" x, les deux ensembles de données sont tracés en utilisant une seule des plages x.Il en résulte donc que l'un des ensembles de données est soit compressé, soit étiré, selon le x utilisé.Ci-joint, les deux ensembles de données tracés dans le générateur de graphiques, et vous pouvez voir le problème.
Tout ce que je veux, c'est que la plage x soit fixe et que le multiple y soit tracé par rapport à un axe x.
Étant donné que je suis encore nouveau dans JMP, une solution interactive serait préférable, mais si un script est le seul moyen possible, je l'accepterai également.
Merci d'avance pour votre aide.
V1V1V1
D1D1D1
D1+V1D1+V1D1+V1
Ingénierie de la qualité et des procédésRe : Comment ajouter plusieurs données au même graphique ?Salut,
J'utilise fréquemment 2 ensembles de données (X1/Y1, X2/Y2), tous deux dans des colonnes différentes, et les superpose dans un graphique XY.Actuellement, je finirais par avoir 4 parcelles dans un graphique (X1/Y1, X1/Y2, X2/Y1, X2/Y2, je n'ai besoin que de X1/Y1 et X2/Y2).Il me faut toujours une demi-journée juste pour bien comprendre l'intrigue.
Grâce à JDA, je suis heureux de savoir que je ne suis pas seul dans ce cas.
J'apprécie vraiment si JMP peut créer une solution interactive à cela dans la version 18.
Re : Comment ajouter plusieurs données au même graphique ?J'ai créé un script qui devrait faire ce que vous voulez.Il commence par un tableau à quatre colonnes : x1, y1, x2, y2.

Le problème est que vous devez empiler x2 et y2 sous x1 et y1, et ajouter une colonne différenciant les deux ensembles de données.C'est le genre de résultat que vous voulez obtenir :

Voici le scénario.Notez que les premières lignes définissent une table similaire à la vôtre, référencée par la variable dt.
// Create an example table
dt = New Table( "Untitled 2", Add Rows( 4 ),
New Column( "x1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 2, 3, 4] ) ),
New Column( "y1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [4, 2, 3, 1] ) ),
New Column( "x2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [3, 5, 7, 8] ) ),
New Column( "y2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [5, 2, 8, 2] ) )
);
// For your case you would point the dt variable to your own table.
// dt = data table("My Data Table");
nr = nrows(dt);
// Make the new table
newdt = New Table( "Untitled 5",
Add Rows( 2 * nr ),
New Column( "x", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "y", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Machine", Character, "Nominal")
);
// In the next section of code, replace x1 and y1 with your column names for the first x-y pair
// Start with X1, Y1
for (i = 1, i <= nr, i++,
newdt:x[i] = dt:x1[i];
newdt:y[i] = dt:y1[i];
newdt:Machine[i] = "A";
);
// In this section of code, replace x2 and y2 with your column names for the second x-y pair
// Now add X2, Y2
for (i = (nr + 1), i <= 2 * nr, i++,
newdt:x[i] = dt:x2[i - nr];
newdt:y[i] = dt:y2[i - nr];
newdt:Machine[i] = "B";
);
// Create the graph
newdt << Graph Builder(
Size( 886, 452 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ), Overlay( :Machine ) ),
Elements( Line( X, Y, Legend( 13 ) ), Points( X, Y, Legend( 14 ) ) )
);
Pour exécuter ce code, copiez-le dans le presse-papiers.Dans JMP, appuyez sur CTRL-T pour ouvrir une nouvelle fenêtre de script, collez le code, puis appuyez sur CTRL-R pour l'exécuter.

J'aurais préféré trouver une solution plus simple en utilisant Tableaux > Pile , mais je n'ai pas trouvé comment faire fonctionner cela (voici un défi pour tous les utilisateurs de JMP !).Ce script est la prochaine meilleure chose.
Re : Comment ajouter plusieurs données au même graphique ?La solution identifiée est la manière de le faire. J'ai inclus un autre exemple pour montrer que les "deux ensembles de données" n'ont pas besoin d'avoir les mêmes valeurs x.
Je crois que le principal problème que vous rencontrez est de savoir comment configurer correctement les données. Pensez en termes de variables. Vous avez une variable X (je pense qu'elle s'appelle Omega). Vous avez des valeurs Y (je crois que ça s'appelle Velox ??). Vous avez une troisième variable appelée Machine. Votre tableau de données doit comporter trois colonnes, une pour chaque variable, tout comme @pmroz montré.
Sa solution a montré un script JMP car c'est le moyen le plus simple de démontrer une solution dans ce forum. Mais les étapes interactives sont assez faciles une fois que les données sont correctement configurées. Voici donc un exemple de tableau :

Accédez à Graphique > Générateur de graphiques.
Faites glisser Omega vers l'axe X. Faites glisser Velox vers l'axe Y. Faites glisser Machine vers le champ Superposer.
J'ai cliqué sur le bouton plus lisse pour supprimer le plus lisse.
Maintenez la touche Maj enfoncée et sélectionnez le bouton d'élément de ligne pour l'ajouter.

Selon la façon dont vous comptez, cela fait 5 étapes, une fois que vous avez correctement configuré les données en pensant en termes de variables.
Re : Comment ajouter plusieurs données au même graphique ?Cela fonctionne, mais c'est un hack tellement horrible.
Est-ce vraiment la seule façon de faire cela?Il n'y a vraiment pas de moyen plus simple de faire quelque chose d'aussi basique que cela?
Re : Comment ajouter plusieurs données au même graphique ?Les données sont toutes les deux dans la même table de données, mais pour réitérer, le problème est qu'elles ne partagent pas le même ensemble de valeurs x, donc votre réponse ne fonctionne pas.
Re : Comment ajouter plusieurs données au même graphique ?Voici le tableau :

Voici le graphique obtenu :

Re : Comment ajouter plusieurs données au même graphique ?Voici une façon de procéder :
- Ajoutez une colonne à chacun de vos ensembles de données, par exemple "Machine".La valeur dans la table V1 serait V1, et dans la table P1 ce serait P1.
- Maintenant, concaténez les deux tables.
- Exécutez le générateur de graphiques et faites glisser Omega vers X et la colonne Y vers Y
- Faites glisser la machine vers la superposition
Voici un code qui montre comment le faire :
dt = New Table( "Test Combo", Add Rows( 6 ),
New Column( "Omega", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 1, 2, 3] ) ),
New Column( "Y", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 4, 10, 2, 7, 20] ) ),
New Column( "Machine", Character, "Nominal",
Set Values( {"D1", "D1", "D1", "V1", "V1", "V1"} ) )
);
dt << Graph Builder( Size( 527, 452 ), Show Control Panel( 0 ),
Variables( X( :Omega ), Y( :Y ), Overlay( :Machine ) ),
Elements( Line( X, Y, Legend( 13 ) ) ),
SendToReport( Dispatch( {}, "Y", ScaleBox,
{Scale( "Log" ), Format( "Best", 12 ), Min( 0.7 ),
Max( 20.3648979591837 ), Inc( 1 ), Minor Ticks( 1 )}
)
)
);Re : Comment ajouter plusieurs données au même graphique ?Les données du graphique doivent provenir d'un seul tableau de données.Par conséquent, ce que vous devez faire est de prendre vos 2 tables de données et de les joindre ou de les concaténer pour obtenir votre colonne 1 X et 2 colonnes Y.Ensuite, tout ce que vous avez à faire est d'ouvrir Graph Builder et de faire glisser la colonne X vers la zone de dépôt X, puis de sélectionner les deux colonnes Y et de les faire glisser vers la zone de dépôt Y.
Utiliser
Tableaux=>Rejoindre
ou
Tableaux=>Concaténer
pour regrouper les données.Assurez-vous que le nom de la colonne X est le même dans les deux tables de données et que les noms de la colonne Y sont différents.