So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem ListenarrayHallo alle,
Ich versuche, eine Möglichkeit zu finden, meine Ergebnisse in einer PPTX-Datei zu speichern. Vorlage und erkannte, dass ich jedes Ergebnis zunächst in einer Datei speichern sollte, um es dann in einem Vorlagenbericht zu kompilieren.
Laut folgendem Beitrag:
https://community.jmp.com/t5/Discussions/the-graph-size-exported-to-pptx-Save-Presentation/mp/72135#M35554
Ich konnte jedoch keine Möglichkeit finden, meine Dateien gemäß der Liste zu benennen, die unter der Schleife erstellt wird. Ich verwende das folgende Big-Class-Beispiel:
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
ages = (Associative Array( Column( dt2, "age" ) ) << Get keys);
For( i = 1, i <= N Items( ages ), i++,
dt2 << select where( :age == ages[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :age, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :age ),
Where( :age == ages[i] ),
Display( :age, Size( 224, 126 ), List Display )
)
)
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
gb<< save picture(Eval Insert("C:\....\BigClass^i^.png"));););Gibt es jemanden, der weiß, wie man das macht?
Ich habe stattdessen versucht, Folgendes zu verwenden, aber es funktioniert nicht.
gb << Save Picture( "C:\BigClass_" || Ages[i] ||".jpg", JPEG );
Muss ich dafür eine andere Zeichenfolge/Liste erstellen? Jede Anleitung wird sehr geschätzt.
Danke
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem ListenarrayIch kann Ihre Frage nicht direkt beantworten, aber nur ein paar Gedanken zum Ansatz. Vielleicht möchten Sie diese über den Point'n'Click erkunden, bevor Sie sich mit der Skripterstellung befassen.
1. Möglicherweise möchten Sie die Seite-Rolle im Graph Builder verwenden, da dadurch ein separates Diagramm mit Achsen für jede Ebene der Variablen in Seite erstellt wird.
dt = Open( "$SAMPLE_DATA\Big Class.JMP" );
Graph Builder(
Size( 518, 2948 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Page( :age ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) )
);
2. Es könnte sich lohnen, darüber nachzudenken, wie Sie die Funktion „Speichern als PowerPoint“ nutzen können. Aus einem beliebigen Bericht: Datei > Speichern unter > Dateityp: Powerpoint-Präsentation. Save Presentation() ist die JSL-Funktion.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
rbiv << Save Presentation( "$TEMP/jmp_example.pptx" );
Open( "$TEMP/jmp_example.pptx" );
Hoffentlich hilft das.
Grüße,
Phil
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem Listenarray@gzmorgan0
Danke für die Antwort.
Ich versuche, JSL bis zu dem Punkt zu verwenden, an dem ich den Bericht in pptx erstellen muss. Der Grund für das Speichern der Diagramme entsprechend dem Listennamen liegt darin, dass ich für jedes Element dieser Liste einen Bericht erstellen muss.
Ich habe das JSL-Skript unten eingefügt. Das Skript funktioniert so wie es ist, aber es speichert die Diagramme nicht mit dem entsprechenden Listennamen, sondern speichert jedes Diagramm nur als Beispiel_1; sample_2...usw. Der Name meiner Probe_1 lautet beispielsweise „EH3“, die Namen ändern sich jedoch jeden Monat und daher würde ich es im Idealfall benötigen, um den Namen aus der Liste zu erhalten.
Ich muss noch eine tabellarische Zusammenfassung für jedes Beispiel[i] hinzufügen und diese zusammen mit dem Diagramm zu pptx hinzufügen. Ist das möglich?
win = New window("Graphs", lub = Lineup Box (Ncol(3)));
//selecting the list of samples or variables for which a graph is required
Samples = (Associative Array(Column (dt4, "Sample"))<<GET keys=""></GET>
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem ListenarrayDein letzter Beitrag hatte
gb<< save picture(Eval Insert("C:\temp\^i^.png") ||Char(Ages[i])||".jpg",JPEG););Bitte schauen Sie sich Ihre Syntax an. Für i=1 mit Ages[i] = 12 würde dies die Zeichenfolge „C:\temp\1.png12.jpg“ erzeugen.
gb<< save picture("C:\temp\Age_" ||Char(Ages[i])||".jpg",JPEG););F oder i=1 mit Ages[i] = 12, dies würde die Zeichenfolge „C:\temp\Age_12.jpg“ erzeugen.
Ihr ursprüngliches Beispiel verwendete eindeutige Werte der Spalte :age als Liste.Wenn das Speichern nicht funktioniert und dies nicht an einer schlechten Syntax liegt, enthalten die Werte in Ihrer Liste möglicherweise Symbole, die kein gültiger Windows-Name sein können. Ich habe den Link, auf den Sie verwiesen haben, erst jetzt geöffnet. Wenn Sie p3icli zum Erstellen von pptx verwenden, können Sie p3icli-Befehle für Titel und Untertitel für komplexe Namen oder Kommentare verwenden. Ich habe diese Methode verwendet, um Berichte zu Prüfkontrollgrenzen zu schreiben:
- Erstellen Sie eine Liste von p3icli-Befehlen, die ich cmdlist aufgerufen habe, und füge dann für jeden die p3icli-Befehle für in cmdlist ein
- für Neue Folie einfügen oder Duplikatvorlage
- ein Befehl für einen Komplex Titel das Kontextparameterinformationen, Datendaten usw. über das anzuzeigende Diagramm bereitstellt
- ein Befehl zum Einfügen des Bildes mit einfachen Namen wie fid1 oder fid2
- ein Befehl für eine Beschriftung basierend auf den Analysen, ob die Grenzwerte zu locker oder zu eng sind usw.
Ich habe diese Gliederung geschrieben, um die Verwendung von p3icli-Titel- und Beschriftungsoptionen anstelle der Verwendung gespeicherter Dateinamen zu veranschaulichen.
Wenn Sie eine Alternative für p3icli benötigen, ist dies nicht das richtige Forum. Bitte senden Sie eine private Nachricht.
Nachdem Sie Ihre Liste überprüft haben und keine ungewöhnlichen Symbole wie @ # % ( ) - ^ in Ihrer Liste finden, müssen Sie einen Ausschnitt Ihres tatsächlichen JSL-Codes und die Fehlermeldung bereitstellen.
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem ListenarrayEs funktioniert definitiv, ist aber nicht das, was ich will. Ich möchte das Bild wie beim Speichern des Bildes haben <<Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem ListenarrayIch habe an etwas wie das Folgende gedacht, aber jetzt wird mir klar, dass es wahrscheinlich nicht das ist, was Sie wollen, da es die Achsen nicht erfasst.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
gb = dt2 << Graph Builder(
Size(800, 600),
Variables( X( :weight ), Y( :height ), Wrap( :age ) ),
Elements( Points( X, Y ), Smoother( X, Y ) )
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
dt = gb << make into data table();
for each row(dt,
img = :graph;
img << save image(Eval Insert("$DOCUMENTS/BigClass^char(:age)^.png"));
);
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem Listenarray@XanGregg
Wie würden Sie dann jede Tabelle referenzieren? Wie würden Sie dann jede Tabelle in einem Bild mit dem Namen der Liste speichern?
Könnten Sie anhand dieses Beispiels einer großen Klasse zeigen, wie Sie dies tun würden?
Danke
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem Listenarray@gzmorgan0
Danke für den Tipp. In diesem Beispiel funktioniert es für Big Class. Allerdings funktioniert es bei meinem Scrypt nicht.
Ich habe beide Befehle ausprobiert und nur der erste funktioniert für mein Skript, ersetzt aber nur ^i^ als Zahl und nicht Name/Zeichen, was ich als Liste habe. Der zweite Befehl funktioniert gut für das Big Class-Beispiel. Ist Char() möglicherweise nicht auf Namen anwendbar?
gb<< save picture(Eval Insert("C:\temp\BigClass^i^.png"));
//and also
gb << Save Picture( "C:\temp\BigClass_" || char(Ages[i]) ||".jpg", JPEG );
);
Ich habe auch versucht, die Funktion Char() in der ersten Befehlszeile zu verwenden, aber sie funktioniert nicht, da die Funktion „||“ scheint für Eval Insert() nicht zu funktionieren.
C:\temp\^i^.png") ||Char(Ages[i])||".jpg",JPEG););gb<< save picture(Eval Insert("
Wissen Sie, wie Sie das umgehen können?
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem ListenarraySie benötigen eine Char()-Funktion für Ages[i]. Die Werte Ihres assoziativen Arrays Ages sind numerisch.Beachten Sie, dass das folgende Skript in das Verzeichnis c:\temp\ schreibt. Auch die kommentierte Anweisung funktioniert.Sie sollten Ihre Append()-Anweisung vor der save-Anweisung schließen.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
ages = (Associative Array( Column( dt2, "age" ) ) << Get keys);
For( i = 1, i <= N Items( ages ), i++,
dt2 << select where( :age == ages[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :age, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :age ),
Where( :age == ages[i] ),
Display( :age, Size( 224, 126 ), List Display )
)
)
);
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
//gb<< save picture(Eval Insert("C:\temp\BigClass^i^.png"));<BR />
gb << Save Picture( "C:\temp\BigClass_" || char(Ages[i]) ||".jpg", JPEG );
);
Betreff: So speichern Sie jedes Diagramm aus dem Graph Builder in einer Bilddatei mit dem Titel aus dem ListenarrayHilft „gb << Make Into Data Table()“? Es erstellt eine neue Datentabelle mit einer Spalte mit Bildern.