Analizar nombres de columna en el gráfico<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Esta pregunta es similar a otra publicación sobre cómo analizar los nombres de las columnas del gráfico.
Quiero crear un gráfico de barras simple donde mis columnas Y estén determinadas por la selección del usuario en un cuadro de lista de columnas.
No puedo encontrar una manera de usar parse y expr para poner mis selecciones de usuario en la declaración del gráfico.
Para otros tipos de gráficos (como Superposición), he podido usar una lista de columnas para hacer esto, pero no puedo
Parece que hacer eso con el gráfico.
Este código genera el gráfico cuando se conocen los Ycols:
dt = Abierto ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp");
Gráfico ( X ( : nombre )
,
Y ( : altura , : peso )
);
Cuando el usuario ha seleccionado YCols, debo hacer algo como esto:
Chart1Expr = expr (Chart (
X (: nombre),
Y (ycols)
));
replaceycols = expr (: height,: weight) <- esto no funciona, pero es como lo que necesito newchartexpr = sustituya (nombre expr (Chart1Expr), expr (ycols), expr (replaceycols));
newchartexpr;
Analizar nombres de columna en el gráfico¡Gracias! Me había estado perdiendo el paso Eval cuando intenté darle una lista.
Analizar nombres de columna en el gráficoY () puede aceptar una lista como argumento, incluso cuando los nombres de las columnas están representados por cadenas. Este ejemplo funciona en JMP9:
dt = Abierto ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
ycols = { "altura" , "peso" } ;
Gráfico ( X ( : sexo ) , Y ( Evaluar ( ycols ) ) ) ;
Sin embargo, si necesita especificar alguna estadística, se vuelve un poco más complicado. Un método es construir una lista de expresiones haciendo un bucle a través de una lista (por ejemplo, generada por el usuario) como en el siguiente ejemplo:
dt = Abierto ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
ycols = {} ;
por ( yo = 1 , yo <= N artículos ( ylist ) , yo ++,
Insertar en ( ycols , Analizar gramaticalmente ( "Media(:" || ylist El yo ] || ")" ) )
) ;
Gráfico ( X ( : sexo ) , Y ( Evaluar ( ycols ) ) ) ;