동일한 그래프에 여러 데이터를 어떻게 추가합니까?모두 좋은 아침/오후입니다.
나는 이것이 매우 간단해야한다고 생각하지만 이것을 수행하는 방법을 찾기 위해 고군분투하고 있습니다.OriginPro에서는 이 작업이 정말 쉽지만 작업에 처음으로 JMP를 사용해야 하므로 이 프로그램은 완전히 초보자입니다.
문제: 두 세트의 XRD 데이터가 있습니다.오래된 기계에서 하나, 새 기계에서 하나.데이터는 대략 -6000에서 +3000 arc sec까지 동일한 도메인에서 가져옵니다.그러나 데이터 포인트의 간격은 두 시스템 간에 다릅니다.
그래서 저는 이 두 개의 데이터 세트를 가지고 있고 그것들을 같은 플롯에 오버레이해야 합니다.x(arcseconds의 각도) 및 y(CPS의 강도)의 정의는 동일합니다.
두 데이터 세트 모두에서 주 반사는 예상대로 약 0 arcseconds에서 발생합니다.두 기계(D1 및 V1)의 데이터 플롯이 첨부되어 있습니다.
Graph Builder를 사용하여 이러한 데이터를 동일한 그래프에 추가하여 하나를 다른 하나 위에 오버레이하려고 했습니다.두 x 도메인을 x 축으로 드래그하려고 시도했지만 원하는 동작이 발생하지 않습니다.D1이 "it's" x에 대해 플롯되고 V1이 "it's" x에 대해 플롯되는 대신 두 데이터 세트가 x 범위 중 하나만 사용하여 플롯됩니다.따라서 사용되는 x에 따라 데이터 세트 중 하나가 압축되거나 확장됩니다.그래프 빌더에 플롯된 두 데이터 세트가 첨부되어 있으며 문제를 볼 수 있습니다.
내가 원하는 것은 x 범위가 고정되고 다중 y가 x축에 대해 플롯되는 것입니다.
제가 아직 JMP를 처음 접한다는 점을 감안할 때 대화형 솔루션이 더 바람직하겠지만 스크립트가 가능한 유일한 방법이라면 그것도 받아들일 것입니다.
도움을 주셔서 미리 감사드립니다.
V1V1V1
D1D1D1
D1+V1D1+V1D1+V1
품질 및 프로세스 엔지니어링Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?안녕,
서로 다른 열에 있는 2개의 데이터 세트(X1/Y1, X2/Y2)를 자주 사용하고 하나의 XY 그래프에 오버레이합니다.현재 하나의 그래프에 4개의 플롯이 있습니다(X1/Y1, X1/Y2, X2/Y1, X2/Y2, X1/Y1 및 X2/Y2만 필요함).줄거리를 제대로 이해하는 데 항상 반나절이 걸립니다.
JDA 덕분에 내가 혼자가 아니라는 사실을 알게 되어 기쁩니다.
JMP가 Ver 18에서 이에 대한 대화형 솔루션을 만들 수 있다면 정말 감사하겠습니다.
Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?원하는 작업을 수행하는 스크립트를 작성했습니다.x1, y1, x2, y2의 4개 열이 있는 테이블로 시작합니다.

문제는 x1과 y1 아래에 x2와 y2를 쌓고 두 데이터 집합을 구분하는 열을 추가해야 한다는 것입니다.이것은 당신이 끝내고 싶은 결과의 종류입니다:

여기 스크립트가 있습니다.처음 몇 줄은 변수 dt가 참조하는 것과 유사한 테이블을 정의합니다.
// Create an example table
dt = New Table( "Untitled 2", Add Rows( 4 ),
New Column( "x1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 2, 3, 4] ) ),
New Column( "y1", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [4, 2, 3, 1] ) ),
New Column( "x2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [3, 5, 7, 8] ) ),
New Column( "y2", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [5, 2, 8, 2] ) )
);
// For your case you would point the dt variable to your own table.
// dt = data table("My Data Table");
nr = nrows(dt);
// Make the new table
newdt = New Table( "Untitled 5",
Add Rows( 2 * nr ),
New Column( "x", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "y", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Machine", Character, "Nominal")
);
// In the next section of code, replace x1 and y1 with your column names for the first x-y pair
// Start with X1, Y1
for (i = 1, i <= nr, i++,
newdt:x[i] = dt:x1[i];
newdt:y[i] = dt:y1[i];
newdt:Machine[i] = "A";
);
// In this section of code, replace x2 and y2 with your column names for the second x-y pair
// Now add X2, Y2
for (i = (nr + 1), i <= 2 * nr, i++,
newdt:x[i] = dt:x2[i - nr];
newdt:y[i] = dt:y2[i - nr];
newdt:Machine[i] = "B";
);
// Create the graph
newdt << Graph Builder(
Size( 886, 452 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ), Overlay( :Machine ) ),
Elements( Line( X, Y, Legend( 13 ) ), Points( X, Y, Legend( 14 ) ) )
);
이 코드를 실행하려면 클립보드에 복사하십시오.JMP에서 CTRL-T를 눌러 새 스크립트 창을 열고 코드를 붙여넣은 다음 CTRL-R을 눌러 실행합니다.

나는 다음을 사용하여 더 쉬운 해결책을 제시하는 것을 선호했을 것입니다. 테이블 > 스택 , 하지만 그 작업을 수행하는 방법을 알 수 없었습니다(모든 JMP 사용자를 위한 도전이 있습니다!).이 스크립트는 차선책입니다.
Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?식별된 솔루션은 이를 수행하는 방법입니다. "두 데이터 집합"이 동일한 x 값을 가질 필요가 없음을 보여주기 위해 또 다른 예를 포함했습니다.
귀하가 겪고 있는 주요 문제는 데이터를 올바르게 설정하는 방법이라고 생각합니다. 변수의 관점에서 생각하십시오. X 변수가 있습니다(Omega라고 합니다). Y 값이 있습니다(Velox??라고 합니다). Machine이라는 세 번째 변수가 있습니다. 데이터 테이블에는 다음과 같이 각 변수에 대해 하나씩 세 개의 열이 있어야 합니다. @pmroz 보여 주었다.
그의 솔루션은 이 포럼에서 솔루션을 시연하는 가장 쉬운 방법이기 때문에 JMP 스크립트를 보여주었습니다. 그러나 데이터가 제대로 설정되면 대화식 단계는 매우 쉽습니다. 다음은 예제 테이블입니다.

그래프 > 그래프 빌더로 이동합니다.
Omega를 X축으로 드래그합니다. Velox를 Y축으로 드래그합니다. 머신을 오버레이 필드로 드래그합니다.
Smoother 버튼을 클릭하여 Smoother를 제거했습니다.
Shift 키를 누른 상태에서 선 요소 버튼을 선택하여 추가합니다.

계산 방법에 따라 5단계입니다. 일단 변수의 관점에서 생각하여 데이터를 올바르게 설정하면 됩니다.
Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?그것은 작동하지만 그것은 정말 끔찍한 해킹입니다.
정말 이 방법밖에 없나요?이것만큼 기본적인 것을 얻는 더 쉬운 방법이 없습니까?
Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?데이터는 둘 다 동일한 데이터 테이블에 있지만 다시 말하지만 문제는 동일한 x 값 집합을 공유하지 않는다는 것이므로 답이 작동하지 않습니다.
Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?다음은 표입니다.

결과 그래프는 다음과 같습니다.

Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?이를 수행하는 한 가지 방법은 다음과 같습니다.
- 각 데이터 세트에 열을 추가합니다(예: "기계").V1 테이블의 값은 V1이고 P1 테이블의 값은 P1입니다.
- 이제 두 테이블을 연결합니다.
- 그래프 빌더를 실행하고 Omega를 X로 드래그하고 Y 열을 Y로 드래그합니다.
- 머신을 오버레이로 드래그
다음은 이를 수행하는 방법을 보여주는 몇 가지 코드입니다.
dt = New Table( "Test Combo", Add Rows( 6 ),
New Column( "Omega", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 1, 2, 3] ) ),
New Column( "Y", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 4, 10, 2, 7, 20] ) ),
New Column( "Machine", Character, "Nominal",
Set Values( {"D1", "D1", "D1", "V1", "V1", "V1"} ) )
);
dt << Graph Builder( Size( 527, 452 ), Show Control Panel( 0 ),
Variables( X( :Omega ), Y( :Y ), Overlay( :Machine ) ),
Elements( Line( X, Y, Legend( 13 ) ) ),
SendToReport( Dispatch( {}, "Y", ScaleBox,
{Scale( "Log" ), Format( "Best", 12 ), Min( 0.7 ),
Max( 20.3648979591837 ), Inc( 1 ), Minor Ticks( 1 )}
)
)
);Re: 동일한 그래프에 여러 데이터를 추가하려면 어떻게 해야 합니까?그래프의 데이터는 단일 데이터 테이블에서 가져와야 합니다.따라서 해야 할 일은 2개의 데이터 테이블을 가져와 함께 조인하거나 연결하여 1개의 X 열과 2개의 Y 열로 끝나는 것입니다.그런 다음 그래프 빌더를 열고 X 열을 X 드롭 영역으로 드래그한 다음 두 Y 열을 모두 선택하고 Y 드롭 영역으로 드래그하기만 하면 됩니다.
사용
테이블=>조인
또는
테이블=>연결
데이터를 모으기 위해.X 열 이름이 두 데이터 테이블에서 동일하고 Y 열 이름이 다른지 확인하십시오.