Comment enregistrer chaque graphique d'une fenêtre unique du générateur de graphiques dans un format de fichier différent de celui de jmp?Salut à tous,
J'ai sauvegardé le script du générateur de graphes pour produire le graphe souhaité. J'ai fait glisser mes variables et ma liste (Exemple) sur le renvoi à la ligne pour produire le même graphique pour chaque catégorie. J'essaie de trouver un moyen d'imprimer le même type de graphique pour tous. Le problème est que l'exécution du script à partir du générateur de graphes ne produira qu'un seul graphe (celui qui vient en premier). Je pensais avoir besoin d’une boucle et j’ai écrit ci-dessous mais cela ne fonctionne pas. Y a-t-il quelqu'un qui pourrait me donner des indices sur la manière de procéder ou si vous pouviez me dire ce que je fais mal?
for(g=1, g<=N items(::Sample), g++,
For(i=1,i<=N items(Eval(::Sample[g])), i++,
gb= dt4 << Graph Builder(
Size( 894, 625 ),
Legend Position( "Bottom" ),
Show Title( 0 ),
Variables(
X( :Days ),
Y( :Model Biogas yield ),
Y( :Biogas Yield, Position( 1 ) ),
Group X( :Sample, Show Title( 0 ), N View Levels( 1 ) )
),
Elements(
Points( X, Y( 2 ), Legend( 14 ), Jitter Limit( 1.1193 ) ),
Smoother( X, Y( 1 ), Legend( 15 ) )
),
SendToReport(
Dispatch(
{},
"Days",
ScaleBox,
{Min( 0 ), Max( 21 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row(
{Inside Ticks( 1 ), Set Font( "Calibri" ), Set Font Size( 14 )}
)}
),
Dispatch(
{},
"Model Biogas yield",
ScaleBox,
{Min( 0 ), Max( 700 ), Inc( 50 ), Minor Ticks( 0 ),
Label Row(
{Inside Ticks( 1 ), Set Font( "Calibri" ), Set Font Size( 14 )}
)}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
14,
Level Name( 0, "Experimental", Item ID( "Biogas Yield", 1 ) ),
Properties( 0, {Marker Size( 5 )}, Item ID( "Biogas Yield", 1 ) )
), Legend Model(
15,
Level Name( 0, "Model", Item ID( "Smooth(Model Biogas yield)", 1 ) ),
Properties(
0,
{Line Color( 32 ), Line Width( 3 )},
Item ID( "Smooth(Model Biogas yield)", 1 )
)
)}
),
Dispatch(
{},
"X title",
TextEditBox,
{Set Font( "Calibri" ), Set Font Size( 14 )}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Font( "Calibri" ), Set Font Size( 14 ),
Set Text( "Biogas yield (m3/t VS)" )}
)
)
);
gb<< Save picture ("C:\data\Graph Builder_" || ::Sample[g]||".jpg", JPEG);
););
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpOui, je souhaite enregistrer le graphique individuel dans un fichier image individuel pouvant figurer sur n’importe quelle plate-forme MS, comme décrit ci-dessous.Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpSalut Phil et Jim,
Utiliser l'exemple de la grande classe. Si je souhaite tracer le rapport poids / taille en fonction du sexe, j'aurais le script de création de graphique suivant:
dt= Open ("C:\Program Files\SAS\JMP\14\Samples\Data\Big Class.JMP");
dt<< Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :sex, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
Ce que je veux faire est ensuite de sauvegarder le graphique obtenu pour chacun: Sexe. Comment je fais ça?
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmp
Comment est-ce que ceci est un exemple du genre de chose que vous voulez faire?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 564, 350 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group X( :sex ) ),
Elements( Line Of Fit( X, Y, Legend( 8 ) ), Points( X, Y, Legend( 9 ) ) )
);
Et vous souhaitez enregistrer la taille par rapport au poids pour chaque niveau de la variable du groupe X sous forme de fichier image individuel?
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpPouvez-vous donner un exemple plus simple mais plus complet de ce que vous essayez de faire? Peut-être en utilisant les données de la grande classe. Les membres de la communauté pourront plus facilement vous aider si vous expliquez la situation et posez des questions plus clairement et de manière plus générale, de manière à ce que toute solution soit facilement utile pour les autres.
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpLe "Exemple" provient du code que vous avez fourni pour cette discussion. Je ne peux donc pas vous aider avec votre question. Dans votre code, vous n'avez pas indiqué où "Sample" a été créé. Cela apparaît simplement dans le code.
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpJ'ai essayé: Sample et :: Sample comme ci-dessous et j'ai exécuté le débogueur JSL:
for(g=1, g<=N items(:sample), print(:sample),
For(i=1,i<=N items(Eval(:Sample[g])), i++,
gb= dt4 << Graph Builder(
Size( 894, 625 ),
Legend Position( "Bottom" ),
Show Title( 0 ),
Variables(
X( :Days ),
Y( :Model Biogas yield ),
Y( :Biogas Yield, Position( 1 ) ),
Group X( :Sample, Show Title( 0 ), N View Levels( 1 ) )
Quand j’utilise: Sample, j’obtiens l’erreur N éléments () doit être une liste.
Quand j'utilise :: Sample, le message d'erreur n'est pas résolu: Sample dans l'accès à l'évaluation de 'sample', :: sample / * ## * /
Je ne sais pas où chercher la valeur?
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpLa référence à
::sample
est une référence à une variable de mémoire JSL, pas à une colonne
Si vous voulez faire référence à une colonne que vous spécifieriez
:sample
// or
dt4:sample
// or if referring to a specific row value, like row 7's value
dt4:sample[7]
Veuillez exécuter votre script et placer la ligne suivante devant votre première boucle For ()
print(::sample);
et ensuite regarder dans le journal, et voir quelle est la valeur qu'il a.
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpJ'ai joint une capture d'écran du dt.

Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpJ'appelle peut-être la mauvaise chose. Je commence toujours à me familiariser avec ces termes. C'est un personnage nominal. Pour chaque groupe de variables, il y a un caractère nominal. Fondamentalement, une colonne nommée Sample correspondant à un groupe de variables. C'est fondamentalement une quatrième variable. Donc, je suppose que je devrais aussi utiliser une peine avec sursis dans ce cas?Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpOK ..... je vais essayer d'être plus précis ...... Je ne vois pas comment vous utilisez une liste JSL, et comment la faire fonctionner .... J'aimerais quand même voir exactement ce que votre variable :: la valeur de l'échantillon est. Voici pourquoi:
Si votre :: échantillon est une liste de caractères
::sample = {"one", "Two", "three"};
For( g = 1, g <= N Items( ::Sample ), g++,
For( i = 1, i <= N Items( Eval( ::Sample[g] ) ), i++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
)
);
le code échoue avec l'erreur suivante:
::sample = {"one", "Two", "three"};
For( g = 1, g <= N Items( ::Sample ), g++,
For( i = 1, i <= N Items( Eval( ::Sample[g] ) ), i++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
)
);
/*:
N Items() argument must be a list
Si la liste est une liste numérique de valeurs
::sample = {1, 2, 3};
For( g = 1, g <= N Items( ::Sample ), g++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
);
Le code échouera lorsque vous tenterez de concaténer la chaîne dans votre image de sauvegarde.
argument should be character in access or evaluation of 'Concat' , Bad Argument( ::Sample[g] ), "C:\data\Graph Builder_" || /*###*/::Sample[g] || /*###*/".jpg" /*###*/
In the following script, error marked by /*###*/
::sample = {1, 2, 3};
For( g = 1, g <= N Items( ::Sample ), g++,
Print(
"C:\data\Graph Builder_" || /*###*/::Sample[g] || /*###*/".jpg" /*###*/
)
);
C’est pourquoi j’aimerais voir exactement ce que contient votre :: liste d’échantillons ......
Cela aiderait également à interpréter le but de vos 2 boucles.
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpOui c'est une liste JSL
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpOK, mais je vais de nouveau vous demander de montrer ce qu'est la variable :: Sample. Est-ce une liste JSL ou une variable de caractère ???? Quelle est sa valeur?Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpJe voudrais garder le même graphique. Je veux juste sauvegarder le graphique 12 fois ou le sauvegarder sous: Échantillon indépendamment et le sauvegarder dans un fichier portant le nom du correspondant dans: Échantillon. Cela a-t-il du sens?
Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpLe code de générateur de graphes que vous avez spécifié ne génère qu'un seul graphique. Et lorsque vous parcourez g et moi, vous ne changez rien dans la spécification Graph Builder, cela indiquerait que vous souhaitez que le graphique généré produise quelque chose de différent. Qu'espérez-vous changer de graphique en graphique?Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpCe n'est pas une valeur mais plutôt des noms de 12 catégories. Chacun aura graphique.Re: Comment enregistrer chaque graphique d’une fenêtre unique du générateur de graphique dans un format de fichier différent de celui de jmpPouvez-vous indiquer la valeur de :: Sample? Vous semblez écrire plusieurs fois sur le même fichier ......