Ändern Sie das Inkrement der X-Achse und die Breite und Höhe des Diagramms programmgesteuertIch habe den Skriptleitfaden durchgesehen, aber ich kann nicht finden, wonach ich suche. Ich erstelle Diagramme, indem ich eine Gruppe nach Abfrage iteriere. Standardmäßig haben alle Diagramme dieselbe Breite und dieselbe Schrittweite für die Achse. Ich möchte die Breite des Diagramms und das Inkrement der X-Achse basierend auf der Anzahl der Werte auf der X-Achse ändern können. Wie kann ich das machen? Hier ist ein Codeschnipsel:
planetP = Control Chart(invisible,
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :Planet )
);
Betreff: Ändern Sie das Inkrement der X-Achse und die Breite und Höhe des Diagramms programmgesteuertWenn ich ein Diagramm anpassen möchte, „stimme“ ich es ein, bis es so aussieht, wie ich es möchte, mit einer gewünschten Breite, Höhe, Skalierung usw. Dann klicke ich mit der rechten Maustaste auf das kleine rote Dreieck und wähle „Skript kopieren“.Das Skript zeigt Ihnen, welche Befehle zum Skripten des Diagramms erforderlich sind.Könnte etwas einfacher sein, als sich durch die Baumstruktur zu wühlen.
Betreff: Ändern Sie das Inkrement der X-Achse und die Breite und Höhe des Diagramms programmgesteuert
@Mark_Bailey schrieb:
.......
Sie können mit der rechten Maustaste auf die Schaltfläche links neben einem Gliederungsfeld in Ihrer Plattform klicken und Bearbeiten > Baumstruktur anzeigen auswählen. Diese Anzeige hilft Ihnen, die Anzeigebox zu identifizieren, mit der Sie arbeiten müssen.
Ich denke, das ist das größte Mitnehmen. Ich habe den Scripting Index schon früher verwendet und fand ihn nützlich (wenn ich finden konnte, wonach ich suchte). Ich wusste bis jetzt nichts darüber, was die Baumstruktur bedeutet.
Vielen Dank!
Betreff: Ändern Sie das Inkrement der X-Achse und die Breite und Höhe des Diagramms programmgesteuertDer Scripting Guide ist ein Nachschlagewerk, kein Lösungsbuch oder Kochbuch. Es gibt eine Kochbuch-Referenz, die über SAS Press erhältlich ist.
Weitere Informationen zu dem, was Sie versuchen, finden Sie in den Kapiteln „Display Trees“ und „Scripting Graphs“ im Scripting Guide.
Möglicherweise finden Sie auch Hilfe > Index für die Skripterstellung hilfreich. Ändern Sie den Browser, um Anzeigefelder anzuzeigen. Wählen Sie dann Axis Box in der linken Liste aus. Die zweite Liste zeigt Ihnen das vollständige Protokoll für diese Objekte.
Sie können mit der rechten Maustaste auf die Schaltfläche links neben einem Gliederungsfeld in Ihrer Plattform klicken und Bearbeiten > Baumstruktur anzeigen auswählen. Diese Anzeige hilft Ihnen, die Anzeigebox zu identifizieren, mit der Sie arbeiten müssen.
Re: X-Achseninkrement und Diagrammbreite und -höhe programmgesteuert ändernKlicken Sie auf das rote Dreieck links neben dem Titel des Beitrags, den Sie ändern möchten, und wählen Sie ihn aus Antwort bearbeiten .
1. Der Index des Zielachsenfelds hängt von der Plattform ab, aber im Allgemeinen ist der Index für die Y-Achse 1 und der Index für die X-Achse 2.
2. Ihre Syntax ist die gleiche wie meine. Ihre Namen sind unterschiedlich.
3. Ich weiß nicht, was die „Anzahl“ einer Achse ist, aber Sie können die verwenden << Mind und << Holen Sie sich max Nachrichten, um den Bereich zu bestimmen, was bei der Bestimmung des gewünschten Inkrements hilfreich sein kann.
Re: X-Achseninkrement und Diagrammbreite und -höhe programmgesteuert ändernLassen Sie mich eine Korrektur an meinem obigen Beitrag vornehmen (da ich nicht weiß, wie man einen Beitrag bearbeitet).
1. Ich entdeckte, dass ich die X-Achse beeinflussen kann, indem ich AxisBox(1) in AxisBox(2) ändere.
2. Ich verwende die Syntax von "pp = planetP << Report"
3. Wie kann ich die Werte der X-Achse zählen, damit ich bestimmen kann, was für das Inkrement verwendet werden soll?Re: X-Achseninkrement und Diagrammbreite und -höhe programmgesteuert ändern
@Mark_Bailey schrieb:
Sie sollten Help > Books > Scripting Guide sehen. Jede Plattform besteht aus zwei Objekten: dem Analyse-Layer und dem Berichts-Layer. Alle anfänglichen Nachrichten gehen an die Analyseschicht. Sie müssen einen Verweis auf die Berichtsebene abrufen und Nachrichten an bestimmte Objekte im Bericht senden. Dieses Beispiel gibt Ihnen eine Vorstellung davon, was ich meine:
planetP = Control Chart(
invisible,
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :Planet )
);
planetP report = planetP << Report;
planetP[FrameBox(1)] << Frame Size( 200, 200 );
planetP[AxisBox(1)] << Inc( 2 );
Mark – Ich weiß die Antwort zu schätzen. Ein paar Dinge:
1. Ich habe Ihren Vorschlag ausprobiert, kann aber die X-Achse überhaupt nicht beeinflussen. Ich kann die Framebox-Größe problemlos ändern.
2. Ist "planetP-Bericht = planetP < < Bericht" das gleiche wie "pp = planetP < < Bericht" (und dann mit pp[FrameBox( 1 )] < < Rahmengröße ( 200 , 200 ))
2. Ich habe online im Scripting Guide nachgesehen. Es ist nicht sehr anfängerfreundlich. Ich konnte nichts finden, was das Axisbox-Objekt besprach, noch was die Objektnamen im Allgemeinen sind. Ich habe nach "report" gesucht und hatte eine Menge Instanzen, aber null für axisbox. Gibt es einen Ort, der speziell die verschiedenen Objekte und die Interaktion mit ihnen bespricht?
Betreff: Ändern Sie das Inkrement der X-Achse und die Breite und Höhe des Diagramms programmgesteuertSie sollten Help > Books > Scripting Guide sehen. Jede Plattform besteht aus zwei Objekten: dem Analyse-Layer und dem Berichts-Layer. Alle anfänglichen Nachrichten gehen an die Analyseschicht. Sie müssen einen Verweis auf die Berichtsebene abrufen und Nachrichten an bestimmte Objekte im Bericht senden. Dieses Beispiel gibt Ihnen eine Vorstellung davon, was ich meine:
planetP = Control Chart(
invisible,
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :Planet )
);
planetP report = planetP << Report;
planetP[FrameBox(1)] << Frame Size( 200, 200 );
planetP[AxisBox(1)] << Inc( 2 );