히스토그램에 수직선 추가그래프 빌더를 사용하여 히스토그램을 작성했으며 히스토그램에 오버레이된 내가 선택한 값에 수직선을 추가하도록 스크립트를 조정하고 싶습니다.
스크립팅Re: 히스토그램에 세로선 추가다음은 몇 가지 옵션입니다. 첫 번째는 먼저 JMP가 스크립트를 작성하도록 한 다음 다음을 사용하는 것입니다. Eval Insert, Eval Expr, Parse 및 Substitute를 사용하여 한 표현식을 다른 표현식에 삽입 두 번째 것은 Ref Line을 검색하여 찾은 Scripting Index 예제에서 수정되었습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
ref_line = 180;
// Option1
Eval(EvalExpr(gb1 = dt << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(:weight)),
Elements(Histogram(X, Legend(3))),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Min(57), Max(205.037037037037), Inc(20), Minor Ticks(0),
Add Ref Line(Expr(ref_line), "Solid", "Black", "", 1)}
)
)
)));
// Option2
gb2 = dt << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(:weight)),
Elements(Histogram(X, Legend(3)))
);
axisbox = Report(gb2)[AxisBox(1)];
axisbox << Add Ref Line(ref_line, "Dotted", red, "F mean", 2);Re: 히스토그램에 세로선 추가이것은 접선적으로 관련되어 있지만 어쨌든 여기에 넣을 것입니다.특히 배포 플랫폼(원래 질문에 있던 그래프 빌더가 아님)과 관련이 있지만 사용자 기본 설정에 따라 다른 플랫폼에 적용될 수 있습니다. 잘 모르겠습니다.그래프 빌더에서 문제가 될 것으로 예상하지 않습니다. 대부분 사용자 기본 설정이 그다지 중요하지 않다고 생각하기 때문입니다.
배포 플랫폼에서 확률, 밀도 및 표시 개수 축을 표시하도록 설정하지 않은 경우 배포 데이터의 축 상자에 대한 인덱스는 1이며, 이는 report(xxxx)[로 참조할 수 있음을 의미합니다. AxisBox(1)], 위의 Jarmo의 게시물과 유사합니다.그러나 다른 축을 추가하면 인덱스가 2, 3 또는 4(표시되는 전체 축의 최대값)가 됩니다. 항상 동일한 설정을 가지고 있다면 하드 코딩할 수 있고 괜찮을 것입니다. 그러나 스크립트가 널리 배포되는 경우 다른 사용자 기본 설정을 고려해야 합니다. '항목 가져오기'를 시도했지만 일부가 비어 있어도 항상 4를 반환하는 것 같습니다. 아마도 거기에서 해결 방법을 찾을 수 있었지만 xpath를 사용하게 되었습니다.xml을 보거나 출력 보고서의 속성을 보고 작동할 수 있는 항목을 확인할 수 있습니다. 즉, 4개의 축 상자가 있을 수 있으므로 축 상자를 찾는 것이 아니라 '주' 축에 고유한 것처럼 보이는 드롭 상자의 테두리 상자에서 축 상자를 찾으십시오. 바라건대 이것이 시간의 시험을 견디지 만 지금까지는 나를 위해 일했습니다.
myrpt = current report();
//show( myrpt<<GET xml=""></GET>// use xpList[1] instead of referencing an axisbox index. <BR />// If there's multiple distributions in the report, loop through or be more specific when grabbing the xpath.
Re: 히스토그램에 세로선 추가때때로 이것들은 케이스 바이 케이스로 빌드되어야 합니다. 일반적으로 << 자식, << sib, << 부모 등의 조합으로 XPath를 사용합니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(:height),
Horizontal Layout(1),
Vertical(0),
Prob Axis(1),
Quantile Box Plot(1),
Normal Quantile Plot(1)
)
);
axisbox = (Report(dist) << XPath("//ScaleBox"))[1];
axisbox << Add Ref Line(55, "Dotted", red, "F mean", 2);
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(:height),
Horizontal Layout(1),
Vertical(0),
Quantile Box Plot(1),
Normal Quantile Plot(1)
)
);
axisbox = (Report(dist) << XPath("//ScaleBox"))[1];
axisbox << Add Ref Line(55, "Dotted", red, "F mean", 2);
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(:height),
Horizontal Layout(1),
Vertical(0),
Count Axis(1),
Prob Axis(1),
Density Axis(1),
Quantile Box Plot(1),
Normal Quantile Plot(1)
)
);
axisbox = (Report(dist) << XPath("//ScaleBox"))[1];
axisbox << Add Ref Line(55, "Dotted", red, "F mean", 2);
한 가지 옵션은 사용자 기본 설정의 영향을 제거하는 것입니다. 그러나 플랫폼에 따라 모든 기본값을 1 또는 0으로 설정하는 데 많은 노력이 필요할 수 있습니다.
Re: 히스토그램에 세로선 추가>>한 가지 옵션은 사용자 기본 설정의 영향을 제거하는 것입니다. 그러나 플랫폼에 따라 모든 기본값을 1 또는 0으로 설정하는 데 많은 노력이 필요할 수 있습니다.
그래, 난 동의. 일부 스크립트에 대해 이와 같은 작업을 수행하려고 생각했지만 실제로 이 예제 코드에서 가져온 특정 스크립트는 출력 창의 모든 분포를 반복하고 히스토그램 빈을 더 작게 만들어 더 '정상'하게 보이도록 설계되었습니다. 실제로 출력을 생성하지 않고 축을 수정하는 일반적인 원버튼 스크립트입니다.
Re: 히스토그램에 세로선 추가또 다른 옵션은 열 속성 사양 제한을 추가하고 배포 플랫폼의 히스토그램에 표시하도록 하는 것입니다.
그런 다음 이 값은 다른 플랫폼에서도 사용할 수 있습니다(프로세스 기능 ...).
