Re: JMP12에서 디스플레이 엔진 회귀 수정 - 상태가 다음으로 변경됨: 신규@ErraticAttack 이것은 JMP 기술 지원에 문의하여 더 잘 해결되는 문제 유형입니다.로 보내주시길 권장합니다 support@jmp.com 귀하가 확인한 문제를 조사할 수 있습니다.감사해요.
Re: JMP12에서 디스플레이 엔진 회귀 수정제보 감사합니다. @ErraticAttack . 위안이 된다면 선택한 마커가 다른 콘텐츠 위에 그려지도록 의도적으로 변경했습니다. 그러나 사용자 정의 그래픽 스크립트가 항상 맨 위에 있기를 원할 수 있으며 JMP가 이를 지원해야 한다는 점을 알 수 있습니다.
SVG로 앤티 앨리어싱 문제를 재현하지 못했지만 눈금선을 만들고 내보내는 방법은 여러 가지가 있으며 아마도 당신과 다른 일을 하고 있을 것입니다. 아래 스크립트에서 내장 격자선과 사용자 지정 격자선을 사용해 보았습니다. 그런 다음 파일 > 내보내기 > 이미지 > SVG로 내보내고 Edge 및 Chrome에서 보았습니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :weight ), X( :height ), FitLine );
rbiv = biv << report;
framebox = rbiv[frame box( 1 )];
framebox << Add Graphics Script(
Pen Color( [1 1 1] * 0.5 );
for (x = x origin(), x < x origin() + x range(), x += 1/2,
vline(x);
);
for (y = y origin(), y < y origin() + y range(), y += 2,
hline(y);
);
);
Re: JMP12에서 디스플레이 엔진 회귀 수정@XanGregg , 답변 주셔서 감사합니다!나는 Marker 문제가 JMP12 때문이고 이전에는 선택되지 않은 지점 뒤에 선택된 지점을 가리는 경우가 있다고 생각했습니다.물론 다른 모든 요소보다 그것들을 보여주는 것이 좋습니다.
앨리어싱 문제의 경우 -- 문제는 FrameBox에 SVG 경로를 추가하는 것입니다. 나는 그것이 정확히 규칙적인 선 그리드가 아니라고 생각합니다. 그것은 상자의 규칙적인 격자입니다(웨이퍼맵에서 다이를 나타냅니다. 물론 그 사이의 공간은 스크라이브입니다).
다음은 문제를 보여주는 예입니다.
Names Default to Here( 1 );
reticle x = 30;
reticle y = 30;
x stepping = 5;
y stepping = 5;
x size = 4.9;
y size = 4.9;
reticle x0 = 0;
reticle y0 = 0;
x start = {};
y start = {};
x end = {};
y end = {};
Summation( x = 0, 5,
Summation( y = 0, 5,
Insert Into( x start, x * x stepping + 0.1 );
Insert Into( x end, (x + 1) * x stepping );
Insert Into( y start, y * y stepping );
Insert Into( y end, (y + 1) * y stepping - 0.1 );
0
);
0
);
reticle path = {};
Summation( i = 1, N Items( x start ),
Insert Into( reticle path,
Eval Insert( " m^xstart[i]^,^ystart[i]^ h^(xend[i]-xstart[i])^ v^(yend[i]-ystart[i])^ h^-(xend[i]-xstart[i])^ z m^-xstart[i]^,^-ystart[i]^" );
);
0
);
reticle path = Concat Items( reticle path, "\!N" );
path = "";
reticle grid = 5;
For( x = -reticle grid, x <= reticle grid, x++,
For( y = -reticle grid, y <= reticle grid, y++,
path ||= "\!NM" || Char( x * (reticle x - reticle x0) ) || "," || Char( y * (reticle y - reticle y0 ) ) || " " || reticle path
)
);
Eval( Eval Expr(
New Window( "Test",
<<SHOW menu=""></SHOW>이것이 JMP17.0에서 얻은 결과입니다.불필요한 두꺼운 선이 시각적으로 나타날 뿐만 아니라 개별 사각형의 크기가 일정하지 않습니다.앤티앨리어싱을 수행하지 않을 때 발생하는 디스플레이 문제 유형입니다.더 이상 내 컴퓨터에 JMP12가 설치되어 있지 않습니다.

다음은 JMP12의 동일한 스크립트입니다.

완전히 완벽하지는 않지만 확실히 훨씬 낫습니다.
시간 내 줘서 고마워!!
Re: JMP12에서 디스플레이 엔진 회귀 수정
감사합니다. 이제 문제를 볼 수 있습니다. Windows 그리기 레이어가 "최적화"를 수행하고 모든 경로 세그먼트가 직선일 때 앤티앨리어싱을 끄는 것처럼 보입니다. 자세히는 모르지만 흐릿한 직선을 피하는 부분이 있는 것 같아요. 따라서 한 가지 해킹은 "m0,0 l0.01,0.01"과 같이 경로에 작은 대각선을 삽입하는 것입니다. 그러면 JMP 17이 JMP 12처럼 동작합니다.
그러나 귀하의 그래프 크기는 300이고 척도 범위는 -160에서 160입니다. 그래프 크기를 320으로 만들 수 있다면 앤티앨리어싱이 필요하지 않기 때문에 12와 17 모두 더 좋아 보일 것입니다(아마도 +/-1 픽셀).
JMP 12: 300 대 320

JMP 17: 300 대 320

Re: JMP12에서 디스플레이 엔진 회귀 수정그 해킹 / 수정에 대해 정말 감사합니다 !!!저는 다양한 크기의 다이가 있는 다양한 웨이퍼 맵을 표시하고 있으며 많은 웨이퍼는 레티클당 여러 다이 크기를 가지고 있습니다. 디스플레이 상자의 크기에 미리 정렬하는 것은 실제로 불가능합니다.그러나 비직선적 요소를 그래프에 추가하여 앤티앨리어싱을 활성화하는 것은 매력처럼 작동합니다!
대단히 감사합니다. 이것은 저를 매우 기쁘게 합니다.
JMP12에서 디스플레이 엔진 회귀 수정이 위시리스트 요청의 영감은 무엇이었을까요? 빌드 번호를 올리면 기능 회귀가 발생하지 않아야 한다는 것이 제 이해입니다. 하지만 JMP12 이후로 정확히 그런 일이 발생했습니다. (JMP13은 테스트하지 않았습니다.) JMP14부터 FrameBox 내에서 마커와 SVG 문자열을 표시하는 데 두 가지 심각한 회귀가 발생했습니다.
어떤 개선을 보고 싶으신가요? 회귀를 수정해 주세요.
이 아이디어가 왜 중요한가요? ... 이것은 분명합니다.
핵심은 이겁니다. FrameBox에 그려진 요소의 표시 순서는 반드시 주어진 그리기 순서를 따라야 합니다. 이 문제를 제기한 건 제가 처음이 아니고 마지막도 아닐 겁니다. 제발 제발 JMP 개발자 여러분, 표시 순서 BS를 수정해 주세요. 제가 MarkerSeg 위에 요소를 그리면 해당 Marker Seg는 요소 위에 그려서는 안 됩니다. 저는 지난 2년 동안 이 문제를 여러 번 제기했고 다른 사람들도 이 문제를 제기하는 것을 보았습니다. 왜 아무 말도 없나요? 쉽게 해결할 수 있을 겁니다.
둘째, JMP12에서는 SVG 문자열이 제대로 별칭 처리되었습니다. JMP14 이상(심지어 JMP17도)에서는 SVG 문자열이 제대로 별칭 처리되지 않아 시각적 버그가 발생합니다. 이는 그래프를 빠르게 스캔하여 이상한 것이 있는지 확인할 때 중요할 수 있습니다. SVG 문자열은 배경 마커이므로 시각적 혼란을 일으키지 않아야 하지만 JMP12 이후로는 이러한 회귀로 인해 이를 피할 방법이 없습니다.
다음은 MarkerSeg 그리기 순서 문제를 보여주는 코드입니다.
Names Default to Here( 1 );
table = New Table( "test table",
Add Rows( 150000 ),
<<NEW column=""></NEW>
<P>JMP16:</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ErraticAttack_1-1685489019001.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><span class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_1-1685489019001.png" style="width: 399px;"><img src="https://us.v-cdn.net/6038925/uploads/images/53270i3978219B489CF72D/ErraticAttack_1-1685489019001.png" role="button" title="ErraticAttack_1-1685489019001.png" alt="ErraticAttack_1-1685489019001.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<P> </P>
<P>JMP12(마커 세그먼트가 먼저 그려짐)</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_2-1685489055438.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/53271iC3A12335781AC29E/ErraticAttack_2-1685489055438.png" role="button" title="ErraticAttack_2-1685489055438.png" alt="ErraticAttack_2-1685489055438.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<P> </P>
<P>다음은 앨리어싱 문제의 예입니다(배경 그리드는 일반적인 선 그리드입니다):</P>
<P>JMP16:</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ErraticAttack_5-1685489128427.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><span class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_5-1685489128427.png" style="width: 324px;"><img src="https://us.v-cdn.net/6038925/uploads/images/53274iD8099EE167610B86/ErraticAttack_5-1685489128427.png" role="button" title="ErraticAttack_5-1685489128427.png" alt="ErraticAttack_5-1685489128427.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<P> </P>
<P>JMP12(별칭이 적절함!):</P>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ErraticAttack_6-1685489139728.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><span class="lia-inline-image-display-wrapper" image-alt="ErraticAttack_6-1685489139728.png" style="width: 290px;"><img src="https://us.v-cdn.net/6038925/uploads/images/53275iAC96FF8CE07A0B81/ErraticAttack_6-1685489139728.png" role="button" title="ErraticAttack_6-1685489139728.png" alt="ErraticAttack_6-1685489139728.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P>
<P> </P>
<P> </P>
<P> </P>
<DIV class=""> </DIV>
<P> </P>
<P> </P>
<P> </P><LINGO-LABS id="lingo-labs-637178" slang="en-US" mode="UPDATE"><LINGO-LABEL>데이터 탐색 및 시각화</LINGO-LABEL></LINGO-LABS>Re: JMP12에서 디스플레이 엔진 회귀 수정두 번째 문제:
그래프 스크립트는 다음 순서대로 그려야 합니다.
그래프에서 다른 모든 가능한 요소 위에 선택된 상태가 그려지는 문제를 수정합니다.
아직 수정이 완료되지 않았습니다.
Re: JMP12에서 디스플레이 엔진 회귀 수정2025년 가을에 출시될 차기 주요 릴리스(JMP 19)에서는 도면 순서를 일부 사용자 정의할 수 있는 작업이 진행되었습니다.
Re: JMP12에서 디스플레이 엔진 회귀 수정@오드리_슐 , 정말 감사합니다:)
이 기능은 어떤 EA 버전에서 사용할 수 있나요?
Re: JMP12에서 디스플레이 엔진 회귀 수정아, 고맙네요:)

Re: JMP12에서 디스플레이 엔진 회귀 문제 해결 - 상태가 다음으로 변경됨: 예, 계속 지켜봐 주세요!제목: JMP12의 디스플레이 엔진 회귀 오류 수정 - 상태 변경: 완료됨