JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법 또는 독립형 범례를 만드는 방법은 무엇입니까?안녕하세요 여러분,
내 (제한된) 스크립팅 기술의 한계에 도달했으며 도움을 찾고 있습니다.
내가 현재 시도하고 있는 것은 특정 플롯에 추가되지 않지만 별도의 개요 상자 등에 배치할 수 있는 "열별 색상" 또는 행 범례를 기반으로 범례를 만드는 것입니다.
내가 이것을 시도하는 이유는 결국 데이터베이스에서 전체 데이터를 검색하고 대부분 다른 범례가 있는 다양한 프로세스 단계에 대한 다양한 시각화를 제공하는 JSL 스크립트에서 작업하고 있기 때문입니다. 맨 위에는 대화형 html 파일로 배포하고 싶습니다. 많은 그래프가 있을 것이고 따라서 많은 스크롤이 있을 것이므로 그래프를 스크롤할 때 범례와 일부 기록된 정보가 계속 표시되어야 하는 개요 상자/스크롤 상자 정렬을 생성하고 싶습니다(창의 별도 부분에).
내가 지금까지 성공한 것은 생성된 범례의 테두리 상자를 통해 클립보드에 복사하는 것입니다(하나는 "행 범례"가 설치된 일반 단방향 플롯을 나타냅니다).
rOne = One << report;
Link = rone[Owner Box(1)] << parent;
show (Link);
Link << copy picture
범례 테두리 상자를 클립보드에 복사합니다. 예를 들어 단어에 붙여넣고 내가 찾던 것을 정확히 얻을 수 있습니다. 안타깝게도 클립보드의 그래픽을 시각화에 붙여넣는 JSL 명령을 찾을 수 없습니다. 그림 상자 환경에서 "클립보드 가져오기"를 통해 시도했지만 이 명령은 텍스트에만 작동하는 것 같습니다.
클립보드에서 그래픽을 붙여넣을 수 있는지 여부를 아는 사람이 있습니까?
또는 독립 실행형 범례를 만들 수 있는 코드 스니펫이 있는 사람이 있습니까(행 상태에서 변환하려고 했지만 그렇게 멀리 가지 못했습니다)?
도움을 주시면 감사하겠습니다.
인사
말테
대량 맞춤화Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?안녕 존,
그렇게 하겠지만, 실제로 내 코드가 아니라 대화형 html 환경 내에 스크롤 상자에 대한 주제가 있는지 확인하려고 시도한 후에만 가능합니다. )
인사
말테Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?말테,
Interactive HTML 문제에 대한 자세한 내용을 보내주십시오.
커뮤니티와 공유하는 것이 불편한 경우 개인 메시지를 보내거나 기술 지원에 문제를 보고하십시오.
감사해요,
~존
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?입력해 주셔서 감사합니다. @ms .
데이터 테이블에서 직접 범례를 만드는 아이디어가 정말 마음에 듭니다. 그것은 매우 편리할 수 있지만 스크립트의 끝에서 범례 창이 떠다니게 될 것입니다...Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?빠르고 쉬운 솔루션에 대해 대단히 감사합니다 @Melanie_J_Drake , danschikore의 더 야심 찬 솔루션을 결정했지만
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?매우 감사합니다, @danschikore . 귀하의 솔루션은 훌륭합니다. 내 시각화 체계에 맞추기 위해 코드를 약간 비틀어야 했지만 정말 잘 작동합니다.
여전히 스크롤 상자 표시에 약간의 문제가 있지만 대화형 html 시각화 내의 일부 버그인 것 같습니다(예를 들어 데이터가 사라짐, 한 가지 흥미로운 경우에 플롯이 JMP 환경에 표시되지 않았지만 대화형 html로 저장될 때 표시됨(다소 왜곡됨)).
당신의 작업은 대단히 감사합니다
인사
말테
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?이 모든 답변은 훌륭합니다!
많은 Interactive HTML 파일에 대한 gzmorgan0의 제안에 추가하고 싶었습니다. 여러 대화형 HTML 파일을 참조하는 HTML 사용자 인터페이스를 만드는 한 가지 방법은 JMP의 기본 메뉴에서 파일 > 게시를 사용하는 것입니다. 대화형 HTML 보고서에 대한 축소판이 있는 HTML 사용자 인터페이스를 생성합니다. New Web Report를 사용하여 JSL에서 자동화할 수 있습니다. 다음은 스크립팅 인덱스에서 발췌한 내용입니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp", Invisible );
webreport =
New Web Report(
Add Report(
Distribution(
Continuous Distribution(
Column( :weight )
),
Nominal Distribution( Column( :age ) )
),
Title( "Distribution Web Report" ),
Description(
"This report was created with the sample found in the Scripting Index"
)
)
);
file = webreport << Save( "$TEMP" );
If( !Is Empty( file ),
Web( file )
);
예제에서는 보고서를 하나만 추가하지만 원하는 만큼 추가할 수 있습니다. 또한 임시 위치에 저장하지만 이를 공유 네트워크 드라이브로 설정한 다음 동료에게 위치를 보낼 수 있습니다.
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?@danschikore , 정말 멋졌습니다.
데이터 필터 컨텍스트 상자를 사용하는 또 다른 옵션입니다. 스크립트 작성이 조금 더 쉽고 대화식 HTML에 대해 여러 필터를 허용한다고 생각합니다. JMP 범례는 없지만 데이터 필터는 강력합니다.아래에 예가 나와 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window( "Shared Local Filter",
Data Filter Context Box(
H List Box(
Current Data Table() << Data Filter( Local, Add Filter( columns( :sex ) ) ),
ScrollBox(
Platform(
Current Data Table(),
biv = Bivariate(
X( :height ),
Y( :weight ),
By( :age ),
)
)
)
)
)
);
_xxx = biv<< Xpath("//FrameBox");
_xxx << {MarkerSize(6)};
_xxx << RowLegend("sex", color(1), Marker(1)); //this will just be a reminder
nw << Save Interactive HTML("C:/temp/SharedLocalFilter.html");
@MJE 실제로 많은 보고서가 있는 경우 스크롤 대신 JMP에서 만든 대화형 HTML 페이지/파일에 대한 고유한 HTML 인터페이스를 만드는 것이 좋습니다.인터넷에는 html 검색 UI의 많은 예가 있습니다.
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?JMP가 클립보드의 콘텐츠를 사용하는 곳이 몇 군데 있습니다. 일반적으로 다음과 같이 클립보드에 복사하는 방법과 함께 사용됩니다. axis<<축 설정 복사 그리고 axis<<축 설정 붙여넣기 .
사용 사례의 경우 이미지를 생성하는 것보다 상자를 복사하거나 이동하는 것이 좋습니다.행 범례에서 복사하려면 다음과 같이 할 수 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
framebox = rbiv[Frame Box( 1 )];
framebox << Row Legend( "age", color( 1 ), Marker( 1 ) );
subset = dt<<GET rows="" where=""> 58 & :weight < 95);
w = New Window("Custom Report",
H List Box(
Graph Box(FrameSize(300,300),MarkerSeg(:weight[subset], :height[subset],Row States(dt, subset))),
(biv<<REPORT></REPORT></GET>
범례는 HTML로 내보낼 때 여전히 이미지로 변환되지만 이렇게 하면 모든 것이 JMP 내의 JMP 표시 상자로 유지됩니다.그러나 복제된 범례는 원래 범례처럼 클릭할 수 없습니다.사용 제거에서() 그리고 에 집어 넣다() , 복제하지 않고도 상자를 재정렬할 수 있습니다.이렇게 하면 제안한 것과 유사한 스크롤 가능한 보고서가 됩니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ), by( :age ) );
rbiv = biv[1] << report;
framebox = rbiv[Frame Box( 1 )];
framebox << Row Legend( "sex", color( 1 ), Marker( 1 ) );<BR />
// extract legend and report
legend = rbiv[OwnerBox(1)];
legendparent = legend<<PARENT></PARENT>// rearrange into a scrolled layout
toprpt << Append(hlist = HListBox(scrollbox=VScrollBox(800)));
InsertInto(scrollbox, fullrpt, 1);
InsertInto(hlist, legendbox, 2);
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?메인 메뉴("붙여넣기")를 사용하여 클립보드에서 붙여넣기가 가능하지만 그다지 유용하지는 않습니다(jsl로 타이밍과 대상을 제어하기 어렵습니다).
원하는 것이 무엇인지 확실하지 않지만 여기 클립보드를 통해 이동하는 것보다 더 나은 대안이 있다고 확신합니다.
다음은 유용할 수 있는 한 가지 예입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/big class.jmp");
ow = Report(dt << Oneway(Y(:Height), X(:Age)));
rl = dt << Color By Column(:Age, Make Window With Legend);
nw = New Window("row legend",
H List Box(Scroll Box(Size(400, 600), V List Box(ow, ow, ow, ow)), rl)
);
// nw << Save Interactive HTML("path/example.html");
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는 독립형 범례를 만드는 방법은 무엇입니까?정확히 무엇을 하려는지 잘 모르겠지만 Get Picture가 필요할 수 있습니다. 그러면 JMP 표시 트리에 배치할 수 있는 그림 개체가 제공됩니다. 다음은 스크립팅 인덱스의 예입니다.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
New Window( "Example", rbiv << Get Picture );
그게 당신이 찾고 있는 것입니까? 이것은 대화형이 아닌 정적 그림일 뿐입니다.
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는: 독립형 범례를 만드는 방법?AddIn에 두 번째 모드를 추가하고 싶습니다.https://marketplace.jmp.com/appdetails/Image+to+Table~에 의해@제드 캠벨 .
AddIn은 하드 드라이브에서 이미지를 로드합니다. 어떤 경우에는 클립보드에서 이미지를 붙여넣는 것이 도움이 될 수 있습니다.
클립보드에서 그래픽을 붙여넣는 JSL 명령이 있나요?
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는: 독립형 범례를 만드는 방법은?
클립보드에서 그래픽을 붙여넣는 JSL 명령이 있나요?
현재 JSL로 이 작업을 수행할 수 있는 방법은 없는 것 같습니다. 어쩌면 JMP 위시리스트 에 추가할 만한 좋은 후보가 될 수 있을까요?
Re: JSL을 통해 클립보드에서 그래픽을 붙여넣는 방법; 또는: 독립형 범례를 만드는 방법은?좋아, 여기 있습니다: 클립보드에서 그래픽을 붙여넣습니다