<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto cercando di modificare proprietà come colore/dimensione/trasparenza di entrambi marcatori e linee su grafici sovrapposti utilizzando script (legati agli input dell'utente come caselle di controllo e caselle di testo). Di seguito è riportato il codice con cui stavo giocando per cercare di capire come manipolare lo script, ma non sono sicuro di sapere cosa sto facendo :-). Se conosci le risposte alle domande nelle righe di commento del codice o se sai che esiste un riferimento alla sintassi per le funzioni gb, pubblica... Grazie...
//Crea tabella
dt = Nuova tabella ( "grphbldr.jmp" , Aggiungi righe ( 10 ) ,
Nuova colonna ( "X" , Numerico , Continuo , Imposta valori ( 1 :: 10 )) ,
Nuova colonna ( "Y1" , Numerico , Continuo , Formula ( : X ^ 2 )) ,
Nuova colonna ( "Y2" , Numerico , Continuo , Formula ( 3 *: X ^ 2 - 100 )) ,
) ;
GB = Costruttore di grafici (
Mostra Pannello di controllo ( 0 ) ,
//Sintassi per cancellare le variabili e inserirne di nuove?
//cos'è la Posizione(1)?
Variabili ( X ( : X ) , Y ( : Y1 ) , Y ( : Y2 , Posizione ( 1 ) ) ) ,
//informazioni/sintassi su Elements, Legend?
//Perché non viene visualizzata una legenda per i punti Y(2) sul grafico?
Elementi (
Punti ( X , Y ( 1 ) , Y ( 2 ) , Leggenda ( 1 ) , Jitter ( 1 ) ) ,
Linea (
X ,
Y ( 1 ) ,
Y ( 2 ) ,
Leggenda ( 2 ) ,
//Informazioni sull'ordine delle righe?
//Disegna linee attraverso i punti mancanti?
Ordine delle righe ( 0 ) ,
Statistica riassuntiva ( "Significare" )
)
) ,
Invia a rapporto (
//cos'è "400"?
Spedizione ( {} , "400" , ScaleBox ,
{
//cambia la trasparenza dei punti.
//Legend Model(1) per i punti. Proprietà(0) - per Y1,
//e Proprietà(1) per Y2?
//Come impostare il tipo e la dimensione del marcatore per i punti?
Modello della leggenda ( 1 , Proprietà ( 0 , { Trasparenza ( 0,6 )} ) ) ,
Modello della leggenda ( 1 , Proprietà ( 0 , { Trasparenza ( 0.4 )} ) ) ,
//modifica la trasparenza e lo spessore delle linee.
//Legend Model(2) per le linee. Proprietà(0) - per Y1,
//e Proprietà(1) per Y2?
Modello della leggenda ( 2 , Proprietà ( 0 , { Larghezza della linea ( 2 ) , Trasparenza ( 0,6 )} ) ) ,
Modello della leggenda ( 2 , Proprietà ( 1 , { Larghezza della linea ( 5 ) , Trasparenza ( 0.4 )} ) )
}
)
)
) ;
Voglio solo aggiungere che ho effettuato alcune manipolazioni approfondite dei comandi GB, ma solo dopo aver elaborato un grafico complesso e aver esaminato il codice.Volevo impostare i miei marcatori e i miei colori e mostrare le linee che collegano i simboli, ma volevo che la legenda mostrasse solo i simboli, non le linee.Una volta creato un grafico di esempio complesso, puoi guardare il codice e capire come ricrearlo dinamicamente per altre situazioni (ad esempio, un numero diverso di cose da tracciare).
C'è una logica nel codice GB, ma la cosa più sicura da fare è crearlo utilizzando GB.
Sembra che tu abbia capito la maggior parte del problema. Segui i suggerimenti di PMRoz per la sintassi di esempio per ottenere il marcatore e la dimensione del marcatore nelle proprietà della legenda.
//cos'è la Posizione(1)?
Se voi due Y potete andare in due "posizioni" o entrambi nella stessa posizione. Posizione(1) dice di mettere la seconda Y nella stessa posizione della prima Y.
//Perché non viene visualizzata una legenda per i punti Y(2) sul grafico?
Questo potrebbe essere un bug o almeno una carenza in un'euristica. GB tenta di nascondere elementi della legenda "non necessari", ad esempio quando i punti e le linee sono dello stesso colore. Lo stesso vale per le rette di regressione e i relativi intervalli di confidenza.
//cos'è "400"?
400 è il numero ID GB fisso per la legenda.
Puoi considerare l'intera parte Send To Report() come un'aggiunta allo script GB, apportando modifiche di visualizzazione dopo la creazione del modello grafico.
Piuttosto che cercare di comprendere la sintassi del costruttore di grafici, adotto un approccio diverso:
Creo il grafico utilizzando il generatore di grafici e lo manipolo finché non è esattamente come lo voglio.Quindi faccio clic sul triangolo rosso, copio lo script e lo inserisco nel mio programma JSL.