JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기안녕하세요,
스크립팅을 사용하여 첨부된 이미지에 표시된 것처럼 Where(col="x")로 텍스트 줄을 숨기거나 제거할 수 있습니까? 저는 JMP를 처음 접했고 아직 모든 내용을 파악하지 못했습니다.
모든 대사물질/계수 라벨(pH, osmo 등)이 한 열에 있고 해당 데이터는 모두 다른 열에 있는 누적 데이터 세트가 있습니다.내 경우에는 그림 제목의 이름을 동일한 레이블로 변경했기 때문에 where() 텍스트 상자는 관련이 없습니다. JMP에서 이미지를 볼 때 마우스 오른쪽 버튼을 클릭하여 수동으로 텍스트 상자를 일시적으로 숨길 수 있지만 JSL을 사용하여 이미지를 숨기고 html로 내보낼 때 숨긴 상태로 유지하는 방법을 잘 모르겠습니다.
다음은 내 그래픽 중 하나에 대한 예제 스크립트입니다.
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" )} )
)
);도와 주셔서 감사합니다!
대량 맞춤화Re: JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기나는 온라인에서 매우 깔끔한 솔루션을 찾았습니다 
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;
)
);
);도움이 되었기를 바랍니다
Re: JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기이를 처리하는 한 가지 방법이 있습니다.
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: JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기걱정 마. 상관없이 도움을 주셔서 감사합니다. 나는 주변을 어지럽히고 일을 할 수 있는지 알아볼 것입니다.
앞서 말했듯이 저는 JMP를 처음 사용하기 때문에 현 시점에서는 모든 것이 매우 효율적으로 간소화되지는 않습니다. 나는 원래 내 vlistbox 내부에서 직접 모든 그래픽을 만들고 있었지만 여기에 코드 줄을 통합하는 방법을 확신하지 못했습니다. 그래서 vlistbox에서 모든 수치를 꺼내고 모든 삭제 줄을 별도로 추가했습니다.
원래 By 절을 사용하고 있었지만 보고서를 웹 보고서에 추가하는 데 몇 가지 문제가 발생했습니다. 그래서 그룹별 스크립트를 클립보드에 저장하는 대신 아래 예와 같이 스크립트 창(모든 개체)에 스크립트 저장을 사용했습니다.
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: JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기전체 스크립트를 보지 않고서는 문제가 어디에 있는지 판단하기가 매우 어렵습니다.다른 질문은 왜 그래프가 생성되는 지점에 삭제 코드를 두지 않고 코드의 단일 지점에서 모든 삭제를 수행하는 것입니까?아니면 코드에서 표시 트리 구조를 단일 독립형 그래프와 완전히 다른 계층 구조로 변경하는 By 절을 사용하고 있습니까?
Re: JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기당신의 도움을 주셔서 감사합니다.
단일 그림에는 훌륭하게 작동하지만 지금은 수정된 그림을 내 vlistbox에 추가하지 않습니다. 결합하려고 하면 항상 빈 상자가 나옵니다. 나는 또한 <
(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: JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기이 경우 << 삭제 메시지를 사용하면 아마도 영향 없이 원하는 변경 사항에 영향을 미칠 것입니다. << Visibility 메시지를 통해 보다 안전한 변경이 가능합니다. 창에 공간을 절약하지 않고 보이지 않게 하려면 Collapse 인수를 사용하십시오.
Re: JSL을 사용하여 그래픽에서 'Where (...)' 텍스트 상자 숨기기이것은 작동해야합니다
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;