Desvincular datos en el gráfico de superposición de la tabla de datos<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Revisé la Guía de secuencias de comandos buscando una manera de "romper" el vínculo entre los datos que se muestran en un gráfico de superposición y su tabla de datos, pero parece que no puedo encontrar cómo hacerlo.La razón es que quiero crear múltiples OP con varios rangos de fechas de datos especificados por el usuario.Estoy usando un filtro de datos para seleccionar los rangos de fechas que me interesan para que los OP resultantes puedan escalar automáticamente los datos de los ejes x e y para que no tenga que especificar estos parámetros ya que cambian drásticamente durante el año.
Para simplificar el problema, he incluido un código simulado a continuación que básicamente muestra lo que estoy tratando de lograr: es decir, cree 2 OP que muestren datos para los meses 1-3 Y 5-7 y desvincule cada uno de estos OP de los datos originales para que a medida que cambien los datos seleccionados del filtro de datos, los datos que se muestran en el OP no cambien de lo que se especificó originalmente.Cualquier sugerencia sobre cómo lograr esto sería muy apreciada.
Borrar registro();
dt = Open( "C:\Program Files\SAS\JMP\10\Samples\Data\Time Series\Raleigh Temps.JMP" );
fecha = 1;
fecha fecha = 3;
obj = dt << Filtro de datos (
Borrado automático ( 1 ),
Mostrar ventana ( 0 ),
Añadir filtro(
columnas( :Nombre( "Mes" ) ),
Dónde(
:Nombre( "Mes" ) >= fecha & :Nombre( "Mes" ) <=
fecha de caducidad
)
),
Modo (Mostrar (1), Incluir (1))
);
obj << Cerrar;
Gráfico de superposición (
X( :Nombre( "Mes" ) ),
Y( :Nombre( "Temperatura" ) ),
Ejes separados ( 1 ),
Conectar a través de falta ( 1 ),
Puntos de conexión ( 1 ),
Enviar a informe (
Despacho(
{},
"101",
caja de escala,
{Mostrar Cuadrícula Principal( 1 ), Etiquetas Giradas( "Automático" )}
)
)
);
fecha = 5;
fecha fecha = 7;
obj = dt << Filtro de datos (
Borrado automático ( 1 ),
Mostrar ventana ( 0 ),
Añadir filtro(
columnas( :Nombre( "Mes" ) ),
Dónde(
:Nombre( "Mes" ) >= fecha & :Nombre( "Mes" ) <=
fecha de caducidad
)
),
Modo (Mostrar (1), Incluir (1))
);
obj << Cerrar;
Gráfico de superposición (
X( :Nombre( "Mes" ) ),
Y( :Nombre( "Temperatura" ) ),
Ejes separados ( 1 ),
Conectar a través de falta ( 1 ),
Puntos de conexión ( 1 ),
Enviar a informe (
Despacho(
{},
"101",
caja de escala,
{Mostrar Cuadrícula Principal( 1 ), Etiquetas Giradas( "Automático" )}
)
)
);
Re: Desvincular datos en el gráfico de superposición de la tabla de datosSi le preocupa el espacio, puede estar pensando en el panel de control que Graph Builder muestra de forma predeterminada, pero puede desactivarlo con Mostrar panel de control (0).
Y, si puede codificar sus condiciones en una columna, puede usar los roles del Grupo X y el Grupo Y para hacer una visualización bastante compacta.
En el siguiente ejemplo, creo una columna que indica el tamaño de la empresa para codificar mis condiciones.
dt = Abierto ( "$SAMPLE_DATA\Financiero.jmp" ) ;
dt << Nueva columna ( "Tamaño de la empresa" , Fórmula ( Si ( : Nombre ( "#em" ) < 10000 , "Pequeño" , "Grande" ) ) ) ;
dt << Generador de gráficos (
Tamaño ( 638 , 770 ) ,
Mostrar panel de control ( 0 ) ,
Variables (
X ( : Nombre ( "Activos ($ millones)" ) ) ,
Y ( : Nombre ( "Ventas ($ millones)" ) ) ,
Grupo X ( : Tamaño de la empresa ) ,
Grupo Y ( : Tipo )
) ,
Elementos ( Puntos ( X , Y , Leyenda ( 1 ) ) , más suave ( X , Y , Leyenda ( 2 ) ) )
) ;
Re: Desvincular datos en el gráfico de superposición de la tabla de datosGracias Jeff por tu ayuda en esto.Aprecié la sugerencia de Graph Builder.Eso probablemente no funcionará en mi caso particular, ya que estoy tratando con una matriz de visualización gráfica de 2 columnas por 6 filas y la sobrecarga de Graph Builder ocupa demasiado espacio.Sin embargo, es genial ver este ejemplo para gráficos futuros que no sean tan grandes y en los que sería útil tener algunas capacidades interactivas.
Re: Desvincular datos en el gráfico de superposición de la tabla de datosEn JMP 10 puede usar un filtro de datos local que le permite filtrar sin alterar la tabla de datos original.
También sugeriría usar Graph Builder en lugar de Overlay Plot.
Aquí hay un ejemplo:
dt = Abierto ( "$SAMPLE_DATA\Time Series\Raleigh Temps.JMP" ) ;
Nueva ventana ( "Mi ventana" ,
Cuadro de lista V (
dt << Generador de gráficos (
Variables ( X ( : Nombre ( "Mes año" ) ) , Y ( : Temperatura ) ) ,
Elementos ( Línea ( X , Y , Leyenda ( 4 ) , Orden de filas ( 0 ) , Estadística de resumen ( "Significar" ) ) ) ,
Filtro de datos locales (
Ubicación ( { 207 , 385 } ) ,
Añadir filtro ( columnas ( : Año ) , Dónde ( : Año >= 1980 & : Año <= mil novecientos ochenta y dos ) ) ,
Modo ( Seleccionar ( 0 ) , Espectáculo ( 1 ) , Incluir ( 1 ) )
)
) ;
dt << Generador de gráficos (
Tamaño ( 570 , 518 ) ,
Variables ( X ( : Nombre ( "Mes año" ) ) , Y ( : Temperatura ) ) ,
Elementos ( Línea ( X , Y , Leyenda ( 4 ) , Orden de filas ( 0 ) , Estadística de resumen ( "Significar" ) ) ) ,
Filtro de datos locales (
Ubicación ( { 207 , 385 } ) ,
Añadir filtro ( columnas ( : Año ) , Dónde ( : Año >= mil novecientos ochenta y dos & : Año <= 1990 ) ) ,
Modo ( Seleccionar ( 0 ) , Espectáculo ( 1 ) , Incluir ( 1 ) )
)
) ;
)
) ;
Re: Desvincular datos en el gráfico de superposición de la tabla de datosO usando la idea de Nueva Ventana:
dt = Abrir( "$SAMPLE_DATA/Fitness.jmp" );
Nueva ventana ("Mi ventana",
Cuadro de esquema( "Mi cuadro de esquema",
Cuadro de lista V (
lo = 9;
hola = 11;
op1 = Gráfico superpuesto (
X( :Tiempo de ejecución ),
Y( :Oxi ),
Donde( :Tiempo de ejecución >= bajo & :Tiempo de ejecución <= alto )
);,
lo = 10;
hola = 12;
op2 = Gráfico superpuesto (
X( :Tiempo de ejecución ),
Y( :Oxi ),
Donde( :Tiempo de ejecución >= bajo & :Tiempo de ejecución <= alto )
);
)
)
);
Re: Desvincular datos en el gráfico de superposición de la tabla de datosAquí hay una posibilidad usando la idea del diario.
dt = Abrir( "$SAMPLE_DATA/Fitness.jmp" );
lo = 9;
hola = 11;
op1 = Gráfico superpuesto (
X( :Tiempo de ejecución ),
Y( :Oxi ),
Donde( :Tiempo de ejecución >= bajo & :Tiempo de ejecución <= alto )
);
informe(op1)
jrn = diario actual();
lo = 10;
hola = 12;
op2 = Gráfico superpuesto (
X( :Tiempo de ejecución ),
Y( :Oxi ),
Donde( :Tiempo de ejecución >= bajo & :Tiempo de ejecución <= alto )
);
jrn << agregar (informe (op2));
Re: Desvincular datos en el gráfico de superposición de la tabla de datosGracias gente por las sugerencias.Ambos son enfoques interesantes del problema.Sin embargo, ninguno funciona para mi aplicación específica, ya que quiero crear múltiples OP en una sola ventana de VListBox (lo siento, no estaba claro en mi publicación original).Parece que no puedo entender cómo hacer que cualquiera de sus enfoques funcione para hacer esto.¿Algunas ideas?
Nueva ventana(
Cuadro de lista V (
Op1 = Gráfico de superposición (.....),
Op1 = Gráfico de superposición (.....)
)
);
Re: Desvincular datos en el gráfico de superposición de la tabla de datosEste ejemplo puede proporcionar una perspectiva ligeramente diferente.
dt = Abrir( "$SAMPLE_DATA/Fitness.jmp" );
lo = 9;
hola = 11;
Gráfico de superposición (
X( :Tiempo de ejecución ),
Y( :Oxi ),
Donde( :Tiempo de ejecución >= bajo & :Tiempo de ejecución <= alto )
);
lo = 10;
hola = 12;
Gráfico de superposición (
X( :Tiempo de ejecución ),
Y( :Oxi ),
Donde( :Tiempo de ejecución >= bajo & :Tiempo de ejecución <= alto )
);
Re: Desvincular datos en el gráfico de superposición de la tabla de datosCorrígeme si me equivoco, pero no creo que sea posible romper el vínculo entre una plataforma y la tabla de datos. La trama tiene que ser movida fuera de la plataforma, por ejemplo, a un diario oa una nueva ventana.
Ambos métodos se utilizan en este ejemplo. Los dos gráficos superpuestos filtrados se envían al mismo diario o a ventanas individuales.
Borrar registro () ;
dt = Abierto ( "$SAMPLE_DATA\Time Series\Raleigh Temps.JMP" ) ;
// expresión de filtro de datos
filtro_expr = exp. (
objeto = dt << Filtro de datos (
Auto-limpiar ( 1 ) ,
Mostrar ventana ( 0 ) ,
Añadir filtro (
columnas ( : Nombre ( "Mes" ) ) ,
Dónde ( : Nombre ( "Mes" ) >= fecha & : Nombre ( "Mes" ) <= fecha de caducidad )
) ,
Modo ( Espectáculo ( 1 ) , Incluir ( 1 ) )
) ;
objeto << Cerca ;
) ;
// Gráfico superpuesto
cubrir = exp. (
op = Gráfico superpuesto (
X ( : Nombre ( "Mes" ) ) ,
Y ( : Nombre ( "Temperatura" ) ) ,
Recálculo automático ( 0 ) ,
Ejes separados ( 1 ) ,
Conectar a través de desaparecidos ( 1 ) ,
Puntos de conexión ( 1 ) ,
Enviar a informe ( Despacho ( {} , "101" , ScaleBox , { Mostrar cuadrícula principal ( 1 ) , Etiquetas rotadas ( "Automático" )} ) ) ,
invisible
)
) ;
// Primera parcela
fecha = 1 ; fecha de caducidad = 3 ; filtro_expr ; cubrir ;
// Nueva ventana...
noroeste = Nueva ventana ( "Mes " || Carbonizarse ( fecha ) || "-" || Carbonizarse ( fecha de caducidad ) , Informe ( op )[ 1 ] ) ;
// o Diario
op << diario ;
// Segunda trama
fecha = 5 ; fecha de caducidad = 7 ; filtro_expr ; cubrir ;
noroeste = Nueva ventana ( "Mes " || Carbonizarse ( fecha ) || "-" || Carbonizarse ( fecha de caducidad ) , Informe ( op )[ 1 ] ) ;
op << diario ;