안녕하세요,
여러 그래프를 생성하는 함수에 대해 질문이 있습니다. 특정 설정으로 그래프 빌더를 호출하여 여러 그래프를 생성하는 함수를 만들고 있습니다. 그래프는 비슷하지만 사용되는 열의 개수와 서식이 약간 다릅니다. 이 함수의 유일한 입력값은 데이터가 있는 데이터 테이블입니다.
이 함수는 그래프를 생성하는 데 사용되며, 각 그래프를 변수로 저장한 후 최종적으로 모든 변수를 목록에 추가합니다. 나중에 목록에서 각 변수(그래프)를 호출하여 각 창에 배치하고 싶습니다. 하지만 이 방법은 작동하지 않고, 인덱스를 사용하여 목록을 호출하면 빈 공간이 발생합니다.
그래프를 보고서로 만들려고 했지만 대화형 기능이 없어졌습니다.
그래프를 배치하고 싶은 위치에서 함수를 호출하면 그래프 3개가 한 번에 하나씩 배치되는 대신, 3개의 그래프가 모두 한 번에 배치됩니다.
이 문제를 해결하는 방법에 대한 도움을 주시면 감사하겠습니다.
그래프를 원하는 위치에서 함수를 호출할 수 있어야 합니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
create_plot = function({dt, colname}, {Default Local},
gb = dt << Graph Builder(
Variables(X(:age), Y(Eval(colname)), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
return(gb);
);
plots = {};
nw = new window("",
V List Box(
Insert Into(plots, create_plot(dt, "height")),
Insert Into(plots, create_plot(dt, "weight"))
)
);
참고자료 수집을 위해 목록이 필요하지 않다면 그냥 삭제하면 됩니다.
nw = new window("",
V List Box(
gb_height = create_plot(dt, "height"),
gb_weight = create_plot(dt, "weight")
)
);
아니면 그냥
nw = new window("",
V List Box(
create_plot(dt, "height"),
create_plot(dt, "weight")
)
);
그리고 아이디어는 여러 창에 대해서도 비슷할 것입니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
create_plot = function({dt, colname}, {Default Local},
gb = dt << Graph Builder(
Variables(X(:age), Y(Eval(colname)), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
return(gb);
);
nw = new window("",
create_plot(dt, "height")
);
nw = new window("",
create_plot(dt, "weight")
);
때로는 새 창이 필요하지 않을 수도 있습니다.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
create_plot = function({dt, colname}, {Default Local},
gb = dt << Graph Builder(
Variables(X(:age), Y(Eval(colname)), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
return(gb);
);
gb1 = create_plot(dt, "height");
gb2 = create_plot(dt, "weight");
고맙습니다, 자모.
결국 비슷한 작업을 했습니다. Match 절을 만들고 세 가지 유형의 그래프 중 어떤 그래프를 만들지 선택한 후, 필요한 만큼 함수를 호출하여 개별 그래프를 생성하도록 했습니다. 최종적으로 당신이 한 작업과 동일하다고 생각합니다. 세 가지 플롯 모두 형식에 약간의 차이가 있기 때문에, 예시처럼 열 이름만 바꾸는 것보다는 같은 함수에서 만들고 싶었습니다. 각 유형별로 세 개의 함수를 따로 만들고 싶지 않았습니다. 그렇게 하면 더 잘 작동할 텐데 말이죠.
"그래프를 어떻게 만들 것인가?" 외에도 "그래프를 어떻게 구성할 것인가?"도 고려해 보세요.
단일 창을 사용하고 그래프를 탭으로 저장하는 건 어떨까요?