Traccia una colonna rispetto a tutte le altre<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho una variabile che mostra il numero di colonne Y.
Voglio tracciare x contro tutto Y.
per esempio la prima colonna è x e A = 6 mostra che abbiamo 6 colonne Y dopo x.
come creare una trama sovrapposta?
qualcosa di simile a:
X ( : Distanza ) ,
Y ( ( : colonna 3) :: colonna (char (A))); Hahaha
Grazie
Ri: Traccia una colonna rispetto a tutte le altreLa raffinatezza di Graph Builder significa inevitabilmente che è un po 'più complesso da sceneggiatura. Ecco un modo. Sono fiducioso ce ne sono molti altri.
NamesDefaultToHere ( 1 ) ;
// Crea alcuni dati demo
dt = nuovatabella ( "Dati" ,
newColumn ( "Y1" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "Y2" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "X" , Numerico , Continuo , Formula ( RandomInteger ( 1 , 20 ))) ,
newColumn ( "Y3" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "Y4" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
AddRows ( 10 )
) ;
// Stampa ogni colonna in dt non chiamata 'x' rispetto a "x"
Cols = dt << getColumnNames ( "Stringa" ) ;
Rimuovere da ( Cols , Loc ( Cols , "X" ) [ 1 ]) ;
// Costruisce un'espressione delle variabili che vogliamo che Graph Builder usi
varExpr = expr ( variabili ( X ( : X ) ) ) ;
Per ( io = 1 , io <= NItems ( Cols ) , io ++,
Se ( io == 1 ,
Inserire ( varExpr , analizzare ( EvalInsert ( "Y (: ^ cols ^)" ))) ,
Inserire ( varExpr , analizzare ( EvalInsert ( "Y (: ^ cols ^, Posizione (1)) " )))
) ;
) ;
// Espressione Graph Builder. . .
doGB = expr ( dt << Costruttore di grafici ( varTBD )) ;
//. . . inserire le variabili in questo
SubstituteInto ( doGB , expr ( varTBD ) , EvalExpr ( varExpr )) ;
// Crea il grafico
doGB ;
Ri: Traccia una colonna rispetto a tutte le altreGrazie Lou; il problema è che non ho il nome delle colonne. Ian trick è fantastico da usare "ottenere i nomi delle colonne". ma ho bisogno di usarlo nel generatore di grafici.
quindi non posso usare:
Y ( : Y1 ) ,
Y ( : y2 , Posizione ( 1 ) ) ,
Y ( : y3 , Posizione ( 1 ) ) ,
Y ( : Y4 , Posizione ( 1 ) )
ottimo modo:
Cols = dt << getColumnNames ( "Stringa" ) ;
Rimuovere da ( Cols , Loc ( Cols , "X" ) [ 1 ]) ;
dt << Sovrapposizione trama ( X ( : X ) , Y ( Eval ( Cols ) ) , Collegare i punti ( 1 ) ) ;
Ri: Traccia una colonna rispetto a tutte le altrefunziona?
// Crea alcuni dati demo
dt = nuovatabella ( "Dati" ,
newColumn ( "Y1" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "Y2" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "X" , Numerico , Continuo , Formula ( RandomInteger ( 1 , 20 ))) ,
newColumn ( "Y3" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "Y4" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
AddRows ( 10 )
) ;
Costruttore di grafici (
Taglia ( 534 , 454 ) ,
Mostra il pannello di controllo ( 0 ) ,
variabili (
X ( : X ) ,
Y ( : Y1 ) ,
Y ( : y2 , Posizione ( 1 ) ) ,
Y ( : y3 , Posizione ( 1 ) ) ,
Y ( : Y4 , Posizione ( 1 ) )
) ,
Elementi ( Linea ( X , Y ( 1 ) , Y ( 2 ) , Y ( 3 ) , Y ( 4 ) , Leggenda ( 51 ) ) )
) ;
Ri: Traccia una colonna rispetto a tutte le altreMolte grazie; Funziona bene.
Che ne dici di un generatore di grafici?
Quando utilizzo il generatore di grafici anziché il grafico di sovrapposizione non è possibile riconoscere "eval (cols)"
C'è un modo per usare lo stesso concetto nel generatore di grafici?
Ri: Traccia una colonna rispetto a tutte le altreSe capisco correttamente, qualcosa come questo dovrebbe fare:
NamesDefaultToHere ( 1 ) ;
// Crea alcuni dati demo
dt = nuovatabella ( "Dati" ,
newColumn ( "Y1" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "Y2" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "X" , Numerico , Continuo , Formula ( RandomInteger ( 1 , 20 ))) ,
newColumn ( "Y3" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
newColumn ( "Y4" , Numerico , Continuo , Formula ( CasualeNormale ())) ,
AddRows ( 10 )
) ;
// Stampa ogni colonna in dt non chiamata 'x' rispetto a "x"
Cols = dt << getColumnNames ( "Stringa" ) ;
Rimuovere da ( Cols , Loc ( Cols , "X" ) [ 1 ]) ;
dt << Sovrapposizione trama ( X ( : X ) , Y ( Eval ( Cols ) ) , Collegare i punti ( 1 ) ) ;