Trazar una columna frente a todos los demás<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una variable que muestra el número de columnas Y.
Quiero trazar x vs todo Y.
por ejemplo, la primera columna es x y A = 6 muestra que tenemos 6 columnas Y después de x.
¿Cómo hacer una trama de superposición?
algo como:
X ( : Distancia ) ,
Y ( ( : columna 3) :: columna (char (A))); jajaja
Gracias
Re: trazar una columna vs todos los demásLa sofisticación de Graph Builder inevitablemente significa que es un poco más complejo de escribir. Aquí hay una forma. Estoy seguro de que hay muchos otros.
NombresDefaultToHere ( 1 ) ;
// Hacer algunos datos de demostración
dt = Tabla nueva ( "Datos" ,
Nueva Columna ( "y1" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "y2" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "X" , Numérico , Continuo , Fórmula ( RandomInteger ( 1 , 20 ))) ,
Nueva Columna ( "y3" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "y4" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
AddRows ( 10 )
) ;
// Grafica cada columna en dt no llamada 'x' contra "x"
cols = dt << getColumnNames ( "Cuerda" ) ;
Eliminar de ( cols , Loc ( cols , "X" ) [ 1 ]) ;
// Construye una expresión de las variables que queremos que use Graph Builder
varExpr = Expr ( Variables ( X ( : X ) ) ) ;
por ( yo = 1 , yo <= Artículos ( cols ) , yo ++,
Si ( yo == 1 ,
Insertar en ( varExpr , Analizar gramaticalmente ( EvalInsert ( "Y (: ^ cols ^) " ))) ,
Insertar en ( varExpr , Analizar gramaticalmente ( EvalInsert ( "Y (: ^ cols ^, Posición (1)) " )))
) ;
) ;
// Expresión de Graph Builder. . .
doGB = Expr ( dt << Generador de gráficos ( varTBD )) ;
//. . . poner las variables en este
SubstituteInto ( doGB , Expr ( varTBD ) , EvalExpr ( varExpr )) ;
// Hacer la gráfica
doGB ;
Re: trazar una columna vs todos los demásGracias Lou; El problema es que no tengo nombre de columnas. El truco de Ian es genial para usar "obtener nombres de columna". Pero necesito usarlo en el generador de gráficos.
así que no puedo usar:
Y ( : y1 ) ,
Y ( : y2 , Posición ( 1 ) ) ,
Y ( : y3 , Posición ( 1 ) ) ,
Y ( : y4 , Posición ( 1 ) )
gran manera:
cols = dt << getColumnNames ( "Cuerda" ) ;
Eliminar de ( cols , Loc ( cols , "X" ) [ 1 ]) ;
dt << Parcela de superposición ( X ( : X ) , Y ( Evaluar ( cols ) ) , Puntos de conexión ( 1 ) ) ;
Re: trazar una columna vs todos los demás¿Esto funciona?
// Hacer algunos datos de demostración
dt = Tabla nueva ( "Datos" ,
Nueva Columna ( "y1" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "y2" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "X" , Numérico , Continuo , Fórmula ( RandomInteger ( 1 , 20 ))) ,
Nueva Columna ( "y3" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "y4" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
AddRows ( 10 )
) ;
Generador de gráficos (
tamaño ( 534 , 454 ) ,
Mostrar panel de control ( 0 ) ,
Variables (
X ( : X ) ,
Y ( : y1 ) ,
Y ( : y2 , Posición ( 1 ) ) ,
Y ( : y3 , Posición ( 1 ) ) ,
Y ( : y4 , Posición ( 1 ) )
) ,
Elementos ( Línea ( X , Y ( 1 ) , Y ( 2 ) , Y ( 3 ) , Y ( 4 ) , Leyenda ( 51 ) ) )
) ;
Re: trazar una columna vs todos los demásMuchas gracias; funciona bien.
¿Qué hay de generador de gráficos?
Cuando uso el generador de gráficos en lugar de un gráfico de superposición, no puede reconocer "eval (cols)"
¿Hay alguna manera de usar el mismo concepto en el generador de gráficos?
Re: trazar una columna vs todos los demásSi entiendo correctamente, algo como esto debería hacer:
NombresDefaultToHere ( 1 ) ;
// Hacer algunos datos de demostración
dt = Tabla nueva ( "Datos" ,
Nueva Columna ( "y1" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "y2" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "X" , Numérico , Continuo , Fórmula ( RandomInteger ( 1 , 20 ))) ,
Nueva Columna ( "y3" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
Nueva Columna ( "y4" , Numérico , Continuo , Fórmula ( RandomNormal ())) ,
AddRows ( 10 )
) ;
// Grafica cada columna en dt no llamada 'x' contra "x"
cols = dt << getColumnNames ( "Cuerda" ) ;
Eliminar de ( cols , Loc ( cols , "X" ) [ 1 ]) ;
dt << Parcela de superposición ( X ( : X ) , Y ( Evaluar ( cols ) ) , Puntos de conexión ( 1 ) ) ;