열 이름 가져 오기 오버레이 플롯에 대한 도움말안녕 모두, 누군가 나를 도울 수 있기를 바랍니다.
숫자 열의 수가 시간에 따라 변경되는 차트를 작성해야하지만, 결국 아래 스크립트에 표시된대로 오버레이 플롯에서 모든 숫자 열을 그릴 필요가 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Overlay Plot( X( :name ), Y( :height, :weight ), Connect Thru Missing( 1 ) );
이것은 시도한 것이지만 차트가 분리되어 생성되었습니다. Y 축에 대한 명령을 받아들이는 것이 좋을지 모르겠습니다. 미리 감사드립니다.
dt = Data Table ("Big Class");
list = dt << get column names(numeric, continuous);
show (list);
For( i = 1, i <= N Items(list), i++,
Overlay Plot(
Y( Column( list[i] ) ),
X( :name ), Connect Thru Missing( 1 ) ) );다시 : 열 이름 가져 오기 오버레이 플롯 도움말이것은 또한 다른 접근 방법입니다.
지원해 주셔서 감사합니다. @ian_jmp 과 @ms
다시 : 열 이름 가져 오기 오버레이 플롯 도움말귀하의 질문에 대한 2 가지 좋은 해결책이 있습니다. 나는 이것을 제 3의 대안을위한 FYI로 추가하고있다.
나는 컬럼 이름을 텍스트로 사용하는 것을 좋아한다. 열 이름 (문자열) 목록이있을 때 특정 플랫폼 (전부는 아님)에 Eval List ()가 필요하므로 proforma (표준)를 사용하는 것이 좋습니다.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
mylist = dt << get column names(numeric, continuous, string);
op = Overlay Plot(Y(EvalList(mylist)), X(:name), Connect Thru Missing(1));
다시 : 열 이름 가져 오기 오버레이 플롯 도움말고맙습니다 @ gzmorgan0 답장을 보내 주시면 감사하겠습니다.
경우에 따라 여러 개의 열이 숫자로 표시되고 테이블에 연속적으로 표시되지만 일부 열을 사용하여 오버레이 플롯을 만들고 싶다면 추가 질문이 있습니다.
루프에서 열 목록을 선택하는 가장 좋은 방법은 무엇입니까?
루프가 열 3 (열 3 숫자, 계속 <= N 항목) 또는 열 1 (열 1 숫자, 두 개의 총 N 항목보다 작음)에서 반복 만 선택하도록합니다.
미리 감사드립니다.
다시 : 열 이름 가져 오기 오버레이 플롯 도움말나는 당신의 질문을 정확히 이해하지 못하기 때문에 몇 가지 조언을 드리겠습니다. 목록을 읽고 목록을 가지고 작업해야합니다. 예를 들어,
mylist = words("abcdefghijklmnopqrstuvwxyz","");
show(mylist); // see the log list of characters a-z
show( mylist[ 3::nitems(mylist)-2 ] ); //see log c-x
3 열 뒤에 시작하기를 원한다면 처음 3 열이 무엇인지 알 것입니다. 따라서 한 가지 방법은 모든 연속적인 열 이름을 가져 와서 처음 세 열의 이름을 제거하는 것입니다.
다시 : 열 이름 가져 오기 오버레이 플롯 도움말안녕하세요 @ gzmorgan0 내 질문에 너무 분명하지 않은 것에 대해 유감스럽게 생각합니다.
좀 더 자세히 설명하겠습니다. 내 테이블에 5 또는 최대 7 개의 열이 포함 된 다음 숫자 / 연속 열에서 첫 번째 열을 제외하거나 다른 2 개의 열만 제외해야합니다. 내가 제외라고 말했을 때, 나는 열 이름이 그것들을 제외시킬 수 있다고 언급하고있다.
루프를 통해이를 수행 할 수있는 방법이 있습니까?
또 다른 옵션은 내 원하지 않는 열 (해당 경우)은 항상 첫 번째 열 또는 마지막 두 열 (열, 숫자, charcater 등)에 관한 것이고, trhough를 사용하여 열 이름을 가져 오는 방법도 있습니다. 고리?
고맙습니다!!!
다시 : 열 이름 가져 오기 오버레이 플롯 도움말미안 해요, 아직도 "크리스탈"이 아닙니다. 첫 번째 열을 참조 할 때 테이블의 첫 번째 열 또는 첫 번째 연속 열이 맞습니까? 마지막 두 칼럼에 관한 같은 질문. 또한 제외 할 열의 이름을 알고 있습니까? 대소 문자를 구분해야합니까?
느낌이 있습니다. 특정 열을 건너 뛰는 방법을 묻는 것일 수 있습니다. 찾고있는 것을 정확히 알지 못하는 경우 도움이 될만한 예가 있습니다. 속담 주의자 건너 뛸 알려진 이름 목록입니다.
Names Default to Here(1);
dt = Open("$sample_data/Semiconductor Capability.jmp");
cnames = dt << get column names("numeric", "String");
nolist = {"wafer", "site", "datetime"};
nw = New Window("Overlay Plots", lub = LineUpBox(ncol(3)));
For(i=1,i<=nitems(cnames), i++,
if (contains(nolist, lowercase(cnames[i]) ), continue() ); //next i
if( Col Number(column(cnames[i]) ) == 0 | Col Std Dev(column(cnames[i])) == 0, continue() ); //next i, no need to plot a constant.
//otherwise
vl = VlistBox(op = Overlay Plot(Y( Column(cnames[i])), X(:lot_id) ) );
Report(op)[OutlineBox(1)] << set title("Overlay Plot: " || cnames[i] || " vs. lot_id");
lub << append(vl);
);
건너 뛸 이름을 모르는 경우 테이블의 특정 위치에 있다는 것을 알면 속담 주의자
//or create nolist
nolist = {};
Insert Into(nolist, Column(dt,1) << get name);
Insert Into(nolist, Column(dt, ncol(dt)-1) << get name);
Insert Into(nolist, Column(dt, ncol(dt)) << get name);
show(nolist);
또한이 이름을 cnames에서 제거 할 수 있습니다. [이 위치가 어디에서 왔는지 정확히 모르겠습니다.] 1 및 마지막 2 개의 연속 열을 제거하기 만하면 모든 연속 열을 스크립트에 표시 한 다음
cnames = cnames[ 2::nitems(cnames)-2 ];
이제는 cnames에 더 이상 값이 없습니다.
다시 : 열 이름 가져 오기 오버레이 플롯 도움말고맙습니다 @ gzmorgan0 nolist와 함께 = {}; 및 cnames = cnames [2 :: nitems (cnames) -2]; 내가 찾는 옵션이 있습니다.
beig 너무 분명히 미안 해요.
난 그 위치에 따라 특정 열에 대해 열 이름을 가져 오는 방법을 알아 냈습니다.
당신의 응답자는 이미 저의 관심사를 고치는 데 도움이되었습니다.
다시 한번 감사드립니다.
다시 : 열 이름 가져 오기 오버레이 플롯 도움말의 인자 와이(...) 런타임에 평가되지 않는 것 같습니다. 오버레이 플롯 플랫폼.
플롯을 만들기 전에 목록 변수를 강제로 명시적인 열 목록으로 대체하는 방법은 다음과 같습니다.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
list = dt << get column names(numeric, continuous);
op = Expr(
Overlay Plot(Y((Expr(list))), X(:name), Connect Thru Missing(1))
);
Eval(Eval Expr(op));다시 : 열 이름 가져 오기 오버레이 플롯 도움말참고로, 이것도 작동합니다 :
myOP = dt << Overlay Plot(Y(dt << get column names(numeric, continuous)), X(:name), Connect Thru Missing(1));