Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLHola,
¿Es posible ocultar/eliminar la línea de texto con Where(col="x") como se muestra en la imagen adjunta mediante secuencias de comandos? Soy nuevo en JMP y todavía no he descubierto todos los entresijos.
Tengo un conjunto de datos apilados donde todos los metabolitos/etiquetas de recuento (pH, osmo, etc.) están en una columna y todos los datos correspondientes están en otra.En mi caso, el cuadro de texto dónde() es irrelevante ya que cambié el nombre de los títulos de mis figuras con la misma etiqueta. Puedo ocultar manualmente el cuadro de texto temporalmente haciendo clic derecho cuando veo la imagen en JMP, pero no estoy seguro de cómo ocultarlo usando JSL y mantenerlo oculto cuando exporto a HTML.
Aquí hay un script de ejemplo para uno de mis gráficos:
Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);¡Gracias por la ayuda!
La personalización en masaRe: Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLEncontré una solución muy interesante en línea 
dp = New Window("Graph Window", tb);
//delete all "Where" text on the chart
For( i = 1000, i > 0, i--,
try(
If( Contains( dp[Text Box( i )] << get text, "Where(:" ),
dp[Text Box( i )] << delete;
)
);
);Espero que esto ayude
Re: Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLAquí hay una forma de manejarlo.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
New Window( "big class - Graph Builder", vlb = V List Box() );
gb1 = Graph Builder(
invisible,
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 12 )
);
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb1 ) );
gb2 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 13 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb2 ) );
gb3 = Graph Builder(
invisible,
Variables( X( :weight ), Y( :height ) ),
Show Control Panel( 0 ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :age == 14 )
);
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
vlb << append( Report( gb3 ) );
Re: Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLNo hay problema. Gracias por tu ayuda de todos modos. Jugaré y veré si puedo hacer que algo funcione.
Como dije, soy nuevo en JMP, por lo que no todo está optimizado de manera muy eficiente en este momento. Originalmente estaba haciendo todos mis gráficos directamente dentro de mi vlistbox, pero no estaba seguro de cómo incorporar su línea de código en eso. Así que saqué todas mis figuras del vlistbox y agregué todas las líneas de eliminación por separado.
Originalmente estaba usando la cláusula Por, pero encontré varios problemas al agregar el informe a un informe web. Entonces, en lugar de guardar el script por grupo en el portapapeles, usé guardar el script en la ventana de script (todos los objetos), como en el siguiente ejemplo:
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
By( :Name( "Metabolite/Count" ) )
);
New Window( "PCstack - Graph Builder",
V List Box(
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "Viability at Split" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "VCD at Inoc" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDL" )
),
Graph Builder(
Variables( X( :Passage Number ), Y( :Preculture Data ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Where( :Name( "Metabolite/Count" ) == "PDT(h)" )
)
)
);
Re: Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLSin ver el guión completo, es bastante difícil determinar dónde está el problema.Mi otra pregunta es, ¿por qué realiza todas las eliminaciones en un solo punto de su código, en lugar de tener el código de eliminación en el punto donde se produce el gráfico?¿O está utilizando una cláusula By en su código, que cambia la estructura del árbol de visualización a una jerarquía completamente diferente a la del gráfico independiente?
Re: Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLGracias por tu ayuda.
Funciona muy bien para una sola figura, pero ahora no agrega ninguna de las figuras modificadas a mi vlistbox. Siempre aparece un cuadro en blanco cuando intento combinarlos. También probé <
(Report( gb1 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb2 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb3 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb4 ) << top parent)[Text Box( 1 )] << delete;
//(Report( gb5 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb6 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb7 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb8 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb9 ) << top parent)[Text Box( 1 )] << delete;
(Report( gb10 ) << top parent)[Text Box( 1 )] << delete;
fig3 = expr(
New Window( "Production Bioreactor - Metabolites/Counts",
V List Box(gb1,gb2,gb3,gb4, gb6, gb7,gb8,gb9,gb10,gb11,gb12,gb13
)
));
Re: Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLEl uso del mensaje << Eliminar en este caso afectará el cambio que desea probablemente sin repercusiones. Un cambio más seguro está disponible a través del mensaje << Visibilidad. Utilice el argumento Contraer para hacerlo invisible y no ahorrar espacio en la ventana.
Re: Ocultar cuadros de texto 'Dónde (...)' en gráficos usando JSLEsto debería funcionar
gb = Graph Builder(
Size( 531, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Step ),
Y( :Name( "BR Metabolite/Count Data" ) ),
Overlay( :Run )
),
Elements(
Line( X, Y, Legend( 1 ) ),
Points( X, Y, Legend( 2 ), Jitter Limit( 0.2018 ) )
),
Where( :Name( "Metabolite/Count" ) == "pH" ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "pH" ), Image Export Display( Normal )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "pH vs. Step" )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "pH" )} )
)
);
(Report( gb ) << top parent)[Text Box( 1 )] << delete;