안녕하세요 여러분,
질문이 있습니다. 아래와 같은 테이블이 있다면. X축에 TIME을 플롯하고 X축을 TYPE별로 그룹화하면 해당 데이터가 없더라도 두 그룹의 X축에 5개 값이 모두 표시됩니다. 그래프 공간을 불필요하게 사용하는 것입니다. 한 가지 방법은 X축(TIME)을 TYPE 열과 중첩할 수 있지만 이는 두 열이 모두 명목 유형인 경우에만 작동합니다. 두 열의 유형이 다른 경우에도 마찬가지입니까?
감사해요
| 시간 | 유형 |
| 2018년 10월 1일 | 나쁜 |
| 2018년 10월 2일 | 나쁜 |
| 2018년 10월 3일 | 나쁜 |
| 2019년 1월 1일 | 좋은 |
| 2019년 1월 1일 | 좋은 |
JMP 플랫폼은 JMP 개발자가 스크립트를 작성한 대로 작동합니다. 위시리스트를 변경할 수 있으며 향후 변경될 수도 있습니다.
데이터 테이블을 재구성하지 않는 한 GraphBuilder가 원하는 대로 작동하도록 만드는 방법을 모르겠습니다. GraphBuilder는 다양한 데이터 유형을 중첩하지 않으며 X-Grouping은 동일한 X 스케일을 사용합니다.따라서 이를 수행하는 유일한 방법은 각 그룹의 (유형) 시간(X 변수)을 자체 열로 만들고 나란히 드래그하는 것입니다.아래는 테이블 레이아웃과 재구성된 분할 테이블의 캡처입니다. 분할:시간 기준:유형:행별로 그룹화하고 모든 열을 유지합니다.
Your specified table layout - Row # column addedYour specified table layout - Row # column added지정된 테이블 레이아웃 - 행 #열이 추가됨
Date Split by Type, Grouped by row #Date Split by Type, Grouped by row # 날짜를 유형별로 나누고, 행 번호별로 그룹화합니다.
다음은 분할 테이블 시간 테이블로 생성된 병렬 GraphBuilder입니다.

여기에 스크립트가 있습니다.
Graph Builder(
Variables( X( :BAD ), X( :GOOD ), Y( :y ) ),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 21 ) ),
Smoother( X, Y, Legend( 22 ) )
)
)
물론 재구성할 필요는 없습니다. 변환을 통해 새 변수를 생성하고 각 유형에 대한 새 변수를 만든 다음 변환된 변수를 X축으로 나란히 드래그할 수 있습니다.

아래는 저장된 스크립트입니다. 그룹이 많은 경우 테이블을 분할하는 것이 가장 쉽습니다.
Graph Builder(
Size( 856, 534 ),
Show Control Panel( 0 ),
Variables(
X( Transform Column( "Bad[TIME]", Formula( If( :TYPE == "BAD", :TIME ) ) ) ),
X(
Transform Column(
"Good[TIME]",
Formula( If( :TYPE == "GOOD", :TIME ) )
)
),
Y( :y )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 17 ) ),
Smoother( X, Y, Legend( 18 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
SendToReport(
Dispatch( {}, "Bad[TIME]", ScaleBox, {Format( "m/d/y", 10 )} ),
Dispatch(
{},
"Good[TIME]",
ScaleBox,
{Format( "m/d/y", 10 ), Min( 3629059200 ), Max( 3629232000 ),
Interval( "Numeric" ), Inc( 17.28 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 17, Level Name( 0, "y Bad", Item ID( "y", 1 ) ) ),
Legend Model( 19, Level Name( 0, "y Good", Item ID( "y", 1 ) ) )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {17, [0], 18, [-1], 19, [1], 20, [-1]} ),
Position( {0, -1, 1, -1} )}
)
)
)GraphBuilder 인터페이스를 사용하여 Time 열을 마우스 오른쪽 버튼으로 클릭하고 공식 그리고 이 수식을 입력해 보세요 형식( :TIME, "m/d/y") .이제 열 선택기에 다음과 같이 표시됩니다. 변신[시간] . 이것을 X로 드래그한 다음 Time이 Type 내에 중첩되도록 Type 열을 드래그합니다.