Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del graficoHo cercato nella guida allo script, ma non riesco a trovare quello che sto cercando. Creo grafici iterando un gruppo per query. Per impostazione predefinita, tutti i grafici hanno la stessa larghezza e lo stesso incremento per l'asse. Mi piacerebbe poter modificare la larghezza del grafico e l'incremento dell'asse X in base al numero di valori nell'asse X. Come posso fare questo? Ecco un frammento di codice:
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 )
);
Re: Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del graficoSe voglio personalizzare un grafico, lo "sintonizzavo" finché non sembra che lo desideri, con larghezza, altezza, ridimensionamento desiderati, ecc. Quindi faccio clic con il pulsante destro del mouse sul triangolino rosso e seleziono Copia script.Lo script mostra quali comandi sono necessari per scrivere il grafico.Potrebbe essere un po' più facile che scavare attraverso la struttura ad albero.
Re: Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del grafico
@Mark_Bailey ha scritto:
.......
Puoi fare clic con il pulsante destro del mouse sul pulsante a sinistra di qualsiasi riquadro della struttura nella piattaforma e selezionare Modifica > Mostra struttura ad albero. Questo display ti aiuterà a identificare la casella di visualizzazione con cui devi lavorare.
Penso che questo sia il più grande take away. Ho già utilizzato l'indice di scripting e l'ho trovato utile (quando sono riuscito a trovare quello che stavo cercando). Non sapevo nulla di cosa significasse la struttura ad albero, fino ad ora.
Grazie!
Re: Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del graficoLa Guida agli script è un riferimento, non un libro di soluzioni o un libro di cucina. È disponibile un riferimento sullo stile del libro di cucina tramite SAS Press.
Vedere i capitoli "Alberi di visualizzazione" e "Grafici di scripting" nella Guida agli script per ulteriori informazioni su ciò che si sta tentando di fare.
Potresti anche trovare utile la Guida > Indice degli script. Modificare il browser per visualizzare le caselle di visualizzazione. Quindi seleziona Axis Box nell'elenco a sinistra. Il secondo elenco ti mostrerà il protocollo completo per questi oggetti.
Puoi fare clic con il pulsante destro del mouse sul pulsante a sinistra di qualsiasi riquadro della struttura nella piattaforma e selezionare Modifica > Mostra struttura ad albero. Questo display ti aiuterà a identificare la casella di visualizzazione con cui devi lavorare.
Re: Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del graficoFai clic sul triangolo rosso a sinistra del titolo del post che desideri modificare e seleziona Modifica risposta .
1. L'indice della casella dell'asse target dipende dalla piattaforma, ma generalmente l'indice per l'asse Y è 1 e l'indice per l'asse X è 2.
2. La tua sintassi è la stessa della mia. I tuoi nomi sono diversi.
3. Non so quale sia il "conteggio" di un asse, ma puoi usare il << Ottieni min e << Ottieni Max messaggi per determinare l'intervallo, che potrebbe aiutare a determinare l'incremento che si desidera utilizzare.
Re: Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del graficoConsentitemi di apportare una correzione al mio post sopra (dato che non so come modificare un post).
1. Ho scoperto che posso influenzare l'asse X cambiando AxisBox(1) in AxisBox(2).
2. Sto usando la sintassi di "pp = planetP << Report"
3. Come posso ottenere un conteggio dei valori dell'asse X in modo da poter determinare cosa usare per l'incremento?Re: Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del grafico
@Mark_Bailey ha scritto:
Dovresti vedere Aiuto > Libri > Guida agli script. Ogni piattaforma è composta da due oggetti: il livello di analisi e il livello di report. Tutti i messaggi iniziali vanno al livello di analisi. È necessario ottenere un riferimento al livello del report e inviare messaggi a oggetti specifici nel report. Questo esempio ti dà un'idea di cosa intendo:
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 );
Marco - Apprezzo la risposta. Poche cose:
1. Ho provato il tuo suggerimento ma non posso influenzare affatto l'asse X. Posso cambiare le dimensioni del framebox bene.
2. È "rapporto pianetaP = pianeta P < < Rapporto" lo stesso di "pp = pianetaP < < Rapporto" (e quindi usando pp[FrameBox( 1 )] < < Dimensione della cornice ( 200 , 200 ))
2. Ho guardato online la Scripting Guide. NON è molto adatto ai principianti. Non sono riuscito a trovare nulla che abbia discusso dell'oggetto axisbox, né di quali siano i nomi degli oggetti in generale. Ho cercato "report" e ho avuto un sacco di istanze, ma zero per axisbox. C'è un posto che discute in modo specifico i diversi oggetti e come interagire con essi?
Re: Modifica programmaticamente l'incremento dell'asse X e la larghezza e l'altezza del graficoDovresti vedere Aiuto > Libri > Guida agli script. Ogni piattaforma è composta da due oggetti: il livello di analisi e il livello di report. Tutti i messaggi iniziali vanno al livello di analisi. È necessario ottenere un riferimento al livello del report e inviare messaggi a oggetti specifici nel report. Questo esempio ti dà un'idea di cosa intendo:
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 );