변수로 스플라인 맞추기여기요,
사용자가 라디오 박스로 선택할 수 있는 동적 범례를 사용하여 차트를 만듭니다.
사용자가 선택한 범례의 이름이 'L1' 변수에 저장됩니다.
사용자가 범례에서 하나의 값을 클릭하면 이 값의 스플라인이 더욱 굵어지는 기능을 추가하고 싶습니다.
파일에 상태 처리기를 추가하고 다음 스크립트를 사용하려고 했습니다.
rsh1 = test1 << Make Row State Handler( dt, rsupdate1 );
rsupdate1 =function({},
SplineSelectlist=dt:L1[dt<<GET selected="" rows=""></GET>
'fit where' 상태가 변수를 인식하지 못합니다.
나는 또한 'parse'를 사용하거나 'eval'을 사용하지 않거나 변수를 정의하기 전에 시도했습니다.
mycolumn= eval(L1);
하지만 그들 중 누구도 작동하지 않습니다.
이에 대한 해결책이 있다면 기꺼이 듣겠습니다.
감사합니다.
Re: 스플라인을 변수에 맞추세요@vsr , 당신의 임무는 다음과 다릅니다 @시로 님의 임무입니다.@시로 서로 다른 스플라인을 맞추는 데 필요함 가치 한 열의.
제가 제공한 예를 보세요. 표시된 곡선은 각 유형에 따라 다릅니다. 가치 :상태.
귀하의 설명에 따르면 귀하는 다른 것을 원하는 것 같습니다. 열, 한 열의 값이 다르지 않습니다. 어디에 맞춤을 선택하고 있나요? 가치 선택한 열의 구체적으로 무엇을 하려고 하는지에 대한 자세한 내용이 없으면 추측만 할 수 있습니다.
내 생각에는 다른 Y 또는 다른 X, 즉 열을 플롯하고 싶을 수도 있습니다. 그런 경우라면 JMP에는 열 전환기(Column Switcher)라는 솔루션이 내장되어 있습니다.혹시라도 필요한 경우를 대비하여 예시 스크린샷과 스크립트를 제공했습니다.이것이 필요한 것이 아니라면 자세한 내용을 제공해주십시오.

Names Default to Here(1);
dt = Open("$sample_data/TechStock.jmp");
biv = dt << Bivariate(
Y( :Name( "Adj. Close*" ) ),
X( :Date ),
Fit Spline( 10, {Line Color( {212, 73, 88} )} ),
Column Switcher(
:Name( "Adj. Close*" ),
{:Open, :High, :Low, :Close, :Name( "Adj. Close*" )}
)
);
//select a Y column one at a time or select the "play/go" button and JMP will cycle thru all columnsRe: 스플라인을 변수에 맞추세요안녕하세요,
비슷한 문제가 발생했기 때문에 초기 쿼리에 참여하고 싶습니다.
각 값이 열 이름인 "범례 선택기 버튼"을 만들려고 합니다.
값을 선택할 때, 범례 그리고 운형자 내 이변량 x/y 그래프가 선택한 값에 따라 업데이트됩니다(이전 범례와 스플라인은 지워집니다).
그러나 "위치에 맞추기" 기능을 적용하여 데이터를 수신하는 방법을 모르겠습니다. 변하기 쉬운 여기의 원래 쿼리에 설명된 대로 입력(선택한 열 이름인 변수)으로 사용됩니다.
고마워요, 하다르
Re: 스플라인을 변수에 맞추세요더 이상 정보가 제공되지 않았기 때문에 귀하에게 필요한 것이 무엇인지 추측하고 있습니다. 어쩌면 및 표현식을 사용하여 스플라인 문을 작성하기만 하면 될 수도 있습니다.이 스크립트를 사용하면 하나 이상의 범례 값을 선택할 수 있습니다. 다음을 사용합니다:
- 범례 선택을 관리하기 위한 보이지 않는 요약 테이블의 기본 연결입니다. 이 보이지 않는 테이블은 이변량이 닫힐 때 닫힙니다.
- 이전 스플라인을 지우고 범례에서 선택한 것만 표시하는 행 상태 처리기 함수입니다.
- JMP14.1 및 JMP13.21에서 테스트되었습니다.

Names Default to Here(1);
dt0 = Open("$sample_data/SATByYear.jmp");
//create a smaller table too many groupings
dt0 << Select Where( :Region=="Plains" | :Region=="South");
dt = dt0 << Subset(All Columns, Output Tablename("SomeStates"));
close(dt0,NoSave);
//change Year from Ordinal to Continuous to create a Bivariate report
dt:Year << Set Modeling Type("Continuous");
//The legend column is hardcoded. It seemed like you know how to do that.
//I created a new column just for interest
gCol = dt << New Column("Region_State", character);
gcol << set each value( substr(:Region,1,1) || "_" || :State);
dt << Color by Column(:Region);
//Create the Bivariate report
biv = dt << Bivariate( Y(:SAT Math), X(:Year) );
//Add a row legion for the legend column. For your script you woudl have to remove the
//previous legend and add a new one.
rbiv = Report(biv);
fb = rbiv[FrameBox(1)];
//You would likely change both color and symbol, just made it different for interest
fb << Row Legend(:Region_State, color(0), Marker(1));
//It will be easier to create the Spline with a By group. The Summary table simplifies the task.
sumdt =dt << Summary(Group(:Region_State), Invisible);
//if the biv winow is closed/ close summary table
biv << On Close (Close(sumdt, NoSave)); //closes the summary table and row state handler
//Create a row state handler function, that defines the tasks when rge rowstate of sumdt changes.
f = Function({a},
_c = biv << Xpath("//IfBox[@isTrue='true']");
for(i=nitems(_c), i>=1, i--, biv << (curve[i] << Remove Fit) );
_yy = sumdt << get selected rows();
if(nrow(_yy)>0,
_xx = (sumdt:Region_State<<GET values=""></GET>
Re: 스플라인을 변수에 맞추세요여기에 응답할 수 있는 정보가 충분하지 않으며 몇 가지 구문 문제가 있습니다.
그래프에 이미 그려진 스플라인이 있고 선택한 항목을 강조 표시하시겠습니까?
GraphBuilder 또는 Bivariate(Fit Y by X)를 사용하고 있습니까?
:eval(L1)은 올바른 구문이 아닙니다.