다른 모든 것들 대 열을 그려라.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Y의 수를 나타내는 변수가 있습니다.
나는 모든 대 Y를 음모를 꾸미고 싶다.
예를 들어 첫 번째 열은 x이고 A = 6은 x 다음에 6 개의 Y 열이 있음을 보여줍니다.
오버레이 플롯을 만드는 방법?
다음과 같은 :
엑스 ( : 거리 ) ,
와이 ( ( : 기둥 3) :: column (char (A))); 하하하
감사
다시 : 다른 모든 것들 대 열을 플로트Graph Builder의 정교함은 필연적으로 스크립트 작성이 좀 더 복잡하다는 것을 의미합니다. 한 가지 방법이 있습니다. 나는 많은 사람들이 있다고 확신합니다.
NamesDefaultToHere ( 1 ) ;
// 데모 데이터 만들기
dt = NewTable ( "데이터" ,
NewColumn ( "y1" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "y2" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "엑스" , 숫자 , 마디 없는 , 공식 ( RandomInteger ( 1 , 20 )))) ,
NewColumn ( "y3" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "y4" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
AddRows ( 10 )
) ;
// "x"에 대해 'x'라고하지 않는 dt의 모든 열을 플롯합니다.
칼 = dt << getColumnNames ( "끈" ) ;
에서 제거 ( 칼 , Loc ( 칼 , "엑스" ) [ 1 ]) ;
// 그래프 빌더에서 사용할 변수의 표현식을 만듭니다.
varExpr = Expr ( 변수 ( 엑스 ( : 엑스 ) ) ) ;
에 대한 ( 나는 = 1 , 나는 <= NItems ( 칼 ) , 나는 ++,
만약 ( 나는 == 1 ,
에 집어 넣다 ( varExpr , 파싱 ( EvalInsert ( "Y (: ^ cols ^) " )))) ,
에 집어 넣다 ( varExpr , 파싱 ( EvalInsert ( "Y (: ^ cols ^, 위치 (1)) " ))))
) ;
) ;
// 그래프 빌더 표현식. . .
doGB = Expr ( dt << 그래프 빌더 ( varTBD )) ;
//. . . 변수를 이것에 넣으십시오.
SubstituteInto ( doGB , Expr ( varTBD ) , EvalExpr ( varExpr )) ;
// 그래프를 만든다.
doGB ;
다시 : 다른 모든 것들 대 열을 플로트Lou 감사합니다. 문제는 열의 이름이 없다는 것입니다. 이안 트릭은 "열 이름 가져 오기"를 사용하는 것이 좋습니다. 하지만 그래프 빌더에서 사용해야합니다.
그래서 나는 사용할 수 없다 :
와이 ( : y1 ) ,
와이 ( : y2 , 위치 ( 1 ) ) ,
와이 ( : y3 , 위치 ( 1 ) ) ,
와이 ( : 예 , 위치 ( 1 ) )
좋은 방법:
칼 = dt << getColumnNames ( "끈" ) ;
에서 제거 ( 칼 , Loc ( 칼 , "엑스" ) [ 1 ]) ;
dt << 오버레이 플롯 ( 엑스 ( : 엑스 ) , 와이 ( 평가 ( 칼 ) ) , 포인트 연결 ( 1 ) ) ;
다시 : 다른 모든 것들 대 열을 플로트이게 효과가 있니?
// 데모 데이터 만들기
dt = NewTable ( "데이터" ,
NewColumn ( "y1" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "y2" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "엑스" , 숫자 , 마디 없는 , 공식 ( RandomInteger ( 1 , 20 )))) ,
NewColumn ( "y3" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "y4" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
AddRows ( 10 )
) ;
그래프 빌더 (
크기 ( 534 , 454 ) ,
제어판 표시 ( 0 ) ,
변수 (
엑스 ( : 엑스 ) ,
와이 ( : y1 ) ,
와이 ( : y2 , 위치 ( 1 ) ) ,
와이 ( : y3 , 위치 ( 1 ) ) ,
와이 ( : 예 , 위치 ( 1 ) )
) ,
집단 ( 선 ( 엑스 , 와이 ( 1 ) , 와이 ( 2 ) , 와이 ( 삼 ) , 와이 ( 4 ) , 전설 ( 51 ) ) )
) ;
다시 : 다른 모든 것들 대 열을 플로트고마워. 잘 작동한다.
그래프 빌더는 어떻습니까?
오버레이 플롯 대신 그래프 빌더를 사용하면 "eval (cols)"을 인식 할 수 없습니다.
그래프 빌더에서 같은 개념을 사용할 수 있습니까?
다시 : 다른 모든 것들 대 열을 플로트내가 올바르게 이해한다면, 다음과 같이해야합니다 :
NamesDefaultToHere ( 1 ) ;
// 데모 데이터 만들기
dt = NewTable ( "데이터" ,
NewColumn ( "y1" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "y2" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "엑스" , 숫자 , 마디 없는 , 공식 ( RandomInteger ( 1 , 20 )))) ,
NewColumn ( "y3" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
NewColumn ( "y4" , 숫자 , 마디 없는 , 공식 ( 임의의 정규화 ())) ,
AddRows ( 10 )
) ;
// "x"에 대해 'x'라고하지 않는 dt의 모든 열을 플롯합니다.
칼 = dt << getColumnNames ( "끈" ) ;
에서 제거 ( 칼 , Loc ( 칼 , "엑스" ) [ 1 ]) ;
dt << 오버레이 플롯 ( 엑스 ( : 엑스 ) , 와이 ( 평가 ( 칼 ) ) , 포인트 연결 ( 1 ) ) ;