이변량 플롯에서 특정 행의 마커 강조 표시안녕
이변량 플롯에서 특정 행의 마커를 강조표시하려고 합니다.
플롯을 수동으로 생성하고 스크립트 창에 저장하고 행 범례로 '테마' 열을 수동으로 선택했습니다.
하지만 문제는 내가 스크립트를 볼 때 위의 단계가 스크립트에 표시되지 않는다는 것입니다!
내가 의미하는 바는 다음과 같습니다.
dt = Open( "$sample_data/Hollywood Movies.jmp" );
dt = currentdatatable(); // Don't know I need this here anyway
Bivariate(
Y( :Domestic Gross ),
X( :Foreign Gross ),
Fit Where( :Genre == "Action", Fit Line( {Line Color( {212, 73, 88} )} ) ),
Fit Where(
:Genre == "Adventure",
Fit Line(
{Line Color( {61, 174, 70} )},
{Set α Level( 4.06068261874589e-315 )}
)
),
Fit Where( :Genre == "Animation", Fit Line( {Line Color( {66, 112, 221} )} ) ),
Fit Where( :Genre == "Comedy", Fit Line( {Line Color( {204, 121, 41} )} ) ),
Fit Where( :Genre == "Drama", Fit Line( {Line Color( {40, 182, 143} )} ) ),
Fit Where( :Genre == "Fantasy", Fit Line( {Line Color( {162, 43, 221} )} ) ),
Fit Where( :Genre == "Horror", Fit Line( {Line Color( {196, 189, 43} )} ) ),
Fit Where( :Genre == "Romance", Fit Line( {Line Color( {39, 174, 174} )} ) ),
Fit Where( :Genre == "Thriller", Fit Line( {Line Color( {197, 41, 201} )} ) ),
SendToReport( // What does this mean here ? Why we need this ?
Dispatch( // What does this mean here ? why we need this ?
{},
"Bivar Plot",
FrameBox,
{Frame Size( 377, 299 ), Row Legend(
Theme,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 1 ),
Marker Theme( "Standard" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);생성하는

내가 원하는 것은 행 범례가 될 열을 제어하고 해당 열의 행을 강조 표시하는 것입니다. 이 같은

나는 이것이 매뉴얼에 존재하지 않는다고 확신합니다.
Re: 이변량 플롯에서 특정 행의 마커를 강조 표시합니다.Names Default To Here( 1 );
dt = New Table( "Example",
Add Rows( 15 ),
New Column( "sex",
Character,
"Nominal",
Set Values(
{"F", "F", "F", "F", "F", "M", "M", "M", "F", "F", "F", "M", "M", "M",
"M"}
)
),
New Column( "height",
Numeric,
"Continuous",
Format( "Best", 10 ),
Set Values( [59, 61, 55, 66, 52, 60, 61, 51, 60, 61, 56, 65, 63, 58, 59] )
),
New Column( "weight",
Numeric,
"Continuous",
Format( "Best", 10 ),
Set Values(
[95, 123, 74, 145, 64, 84, 128, 79, 112, 107, 67, 98, 105, 95, 79]
)
),
Set Row States(
[192, 193, 193, 193, 193, 32833, 32833, 32832, 192, 192, 192, 32832, 32832,
32832, 32832]
)
);
// Here is the Bivariate Platform. It will honor the rowstates
// I have provided some selections, etc. but you can change them
// to whatever selections you want
Bivariate(
Y( :height ),
X( :weight ),
Fit Where( :sex == "F", Fit Line( {Line Color( "Medium Dark Red" )} ) ),
Fit Where( :sex == "M", Fit Line( {Line Color( "Medium Dark Blue" )} ) )
);
// Here is the code to create the new rowstate column
// But it can easily be done manually by just creating a new
// column, and then going to the Col Info window, and setting the
// data type to Row State
dt << New Column( "The RowStates", rowstate );
// This is the command that copies the rowstates from the
// rowstate column, to the new column called The RowStates<BR />// To do this interactively just go to the column panel and<BR />// right click on the red star in front of the new column<BR />// and select "Copy From Rowstates"
dt:The RowStates << copy from rowstates;
// dt:The RowStates << Hide(1); // This will hide the column from view
// The rest is manual(interactive);
// Go to the red triangle on the Bivariate output and select
// Save Script==>To Data Table
// Once it is saved, Go to the green triangle in front of the script that was just
// saved to the data table. Right click on the green triangle and select Edit
// Now add the following line as the first line
// :The RowStates << Copy to Row states;
// Make sure you remove the // from the front of the line
// Now, whenever you run the script, the row states from when you created the graph
// will be applied before the graph is createdRe: 이변량 플롯에서 특정 행의 마커를 강조 표시합니다.긴 설명에 감사드립니다. 정말 도움이 되었습니다. 그 부분이 마음에 들었다" 포인트(마커)를 강조하는 그래프라고 생각하고 계시는군요.그러나 아쉽게도 강조 표시를 제어하는 것은 데이터 테이블입니다. " 이것은 훌륭한 설명입니다.
OTH, 항목 2)에 대한 질문은 어떻게 합니까? 수년간의 경험을 가진 당신에게는 jsl에 적용하는 데 단 몇 초밖에 걸리지 않지만 나에게는 거기에서 실제로 의미한 것이 무엇인지, 어떻게 실행해야 하는지 알아내는 데 일주일이 걸릴 것입니다. 귀하의 사고 과정을 보여주기 위해 일부 스크립트를 게시하여 다른 사람들도 혜택을 받을 수 있기를 바랍니다.)
Re: 이변량 플롯에서 특정 행의 마커를 강조 표시합니다.플롯의 특정 마커(점)를 강조 표시하고 나머지 마커를 희미하게 하는 것은 실제로 데이터 테이블에 연결되며 데이터 테이블에서 어떤 행이 선택되는지 확인합니다. 해당 열에서 생성된 이변량 산점도가 있는 데이터 테이블로 이동하여 데이터 테이블의 행 중 하나를 선택하면 이변량 그래프의 점이 강조 표시되고 다른 모든 점은 희미해집니다.데이터 테이블에서 행을 선택하고 데이터 테이블과 연관된 모든 그래프에서 해당 행을 강조 표시하는 이러한 동작은 JMP의 기본 원칙 중 하나입니다.따라서 그래프의 특정 범례 또는 그래프의 포인트 그룹(마커)을 클릭할 때 표시되는 동작은 실제로 그래프에 해당 포인트를 강조 표시하는 것이 아니라 실제로는 데이터 테이블에 데이터 테이블의 특정 행을 선택하도록 지시하면 데이터 테이블의 해당 작업이 모든 관련 그래프에 선택된 행의 데이터를 나타내는 그래프의 점을 강조 표시하도록 지시합니다.이러한 동작은 JMP가 처음 시작될 때부터 있었습니다.자, 내가 왜 그 모든 시간을 당신에게 말하려고 했습니까?글쎄요, 강조 표시된 데이터 포인트가 저장된 스크립트에 캡처되지 않는 이유를 이해하지 못한다는 귀하의 설명은 포인트(마커)를 강조하는 그래프라고 생각하고 있다는 것을 암시했습니다.그러나 아쉽게도 강조 표시를 제어하는 것은 데이터 테이블입니다.즉, 그래프에 원하는 강조 표시를 적용할 수 있는 한 가지 방법은 강조 표시를 만들기 위해 선택해야 하는 데이터 테이블의 행을 선택한 다음 데이터 테이블을 저장하는 것입니다.데이터 테이블의 행 선택이 저장되며, 그래프를 열고 그래프 스크립트를 실행하면 원하는 대로 그래프가 표시됩니다.이는 일반적으로 선택 가능한 솔루션이 아닙니다.강조 표시할 마커를 처리하는 세 가지 다른 방법은 일반적으로 더 나은 선택입니다.
- 원하는 행을 구체적으로 선택하는 코드를 스크립트에 수동으로 추가합니다.
- "rowstate" 데이터 유형의 새 열을 생성하고, 그래프가 표시되기를 원하는 대로 표시하기 위해 필요에 따라 데이터 테이블 선택, 마커 등을 설정한 다음 Rowstate를 새 열에 저장합니다. 행 상태 열.그런 다음 저장된 스크립트에 명령문을 추가하여 rowstate 열의 원하는 rowstate 값을 데이터 테이블의 rowstates로 다시 복사한 다음 그래프를 생성합니다.
- 행 선택에 로컬 데이터 필터를 사용합니다.로컬 필터는 데이터 테이블의 행을 물리적으로 선택하지 않습니다.대신, 특정 플랫폼에 대한 가상 선택 환경을 제공하여 데이터 테이블 자체에서 선택한 것처럼 작동합니다.로컬 데이터 필터는 저장된 스크립트에 저장됩니다.
이것이 의미가 있기를 바랍니다.더 궁금한 점이 있으면 질문해 주세요.