그래프의 배경으로 그림 추가여러분 모두에게,
다음 스크립트를 작성했습니다. 데이터 테이블을 연 후 데이터를 가져와 그래프 빌더를 사용하여 그래프를 생성합니다. 그런 다음 열린 데이터 테이블과 동일한 이름을 가진 그림을 로드하고 해당 그림을 그래프의 배경으로 사용합니다.
스크립트가 작동하도록 하려면 이름의 일부로 파일 확장자 .png를 데이터 테이블 이름에 추가해야 했습니다. 그래서 이름에 .png를 추가하여 그림과 데이터 테이블의 이름을 모두 지정해야 했습니다(그림 파일의 확장자는 .png임).
예를 들어 사진 이름이 sample.png라면 sample.png.png로 바꿔야 했습니다.
물론 나는 이것을 좋아하지 않지만 이것을 변경하지 않으면 jmp는 그림 파일을 찾을 수 없다고 말합니다.
문제가 더 깨끗한 방법으로 해결될 수 있다고 확신합니다.
도움을 주셔서 감사합니다.
Names Default To Here(1);
dt=Current Data Table();
gb = dt <<
Graph Builder(
Variables( X( :x ), Y( :y ), Overlay( :track ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"x",
ScaleBox,
{Min( 0 ), Max( 280 ), Inc( 50 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"y",
ScaleBox,
{Min( 0 ), Max( 265 ), Inc( 50 ), Minor Ticks( 1 )}
),
Dispatch( {}, "Graph Builder", FrameBox, {Transparency( 0.05 )} )
)
);
frame = (gb << report)[FrameBox( 1 )];
n = dt << Get Name();
img = newImage(n);
img<<ROTATE></ROTATE>
데이터 테이블제도법스크립팅Re: 그래프의 배경으로 그림 추가아마도 다음 중 하나가 도움이 될 것입니다.
filename = "testname.html";
Substr(filename, 1, Contains(filename, ".")-1);
Left(filename, Length(fileName) - 5);
Word(1, filename, ".");
함수가 하는 일에 대한 자세한 내용은 스크립팅 인덱스를 확인하십시오.
Re: 그래프의 배경으로 그림 추가감사합니다. 효과가 있었고 문제가 해결되었습니다.
텍스트 문자열에서 파일 확장자를 제거하는 방법을 알고 있습니까? 폴더에 있는 그림 파일의 이름을 읽고 그 이름을 벡터에 넣는 스크립트가 있습니다. 각 이름에는 확장자도 포함되어 있습니다. 텍스트 문자열의 마지막 네 글자를 제거하는 간단한 명령이 있습니까?
많은 감사,
마르첼로
Re: 그래프의 배경으로 그림 추가감사합니다!Re: 그래프의 배경으로 그림 추가Windows에서 데이터 테이블에 대한 Get Name() 메시지는 ".jmp"를 추가하지 않고 테이블 이름만 반환합니다.
Names Default To Here( 1 );
dt = Open( "$DESKTOP/Big Class.jmp" );
Show( dt << get name() );
통나무:
//:*/
Names Default To Here( 1 );
dt = Open( "$DESKTOP/Big Class.jmp" );
Show( dt << get name() );
/*:
dt << get name() = "Big Class";
따라서 New Image()의 완전한 파일 이름을 얻으려면 ".png"를 추가해야 합니다.
다음은 Big Class(데스크톱에 복사됨)와 여기에 첨부된 Big Class.png 파일을 사용하는 예입니다.
Names Default To Here( 1 );
dt = Open( "$DESKTOP/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", FrameBox, {Transparency( 0.5 )} ) )
);
frame = (gb << report)[FrameBox( 1 )];
n = dt << Get Name();
img = New Image( "$DESKTOP/" || n || ".png" );
frame << Add Image(
image( img ),
Bounds(
Left( 61.2587412587413 ),
Right( 179.370629370629 ),
Top( 70.8292080975384 ),
Bottom( 48.5033161162993 )
),
SetSize( {799, 620} )
);
주의: Mac에서 < ()로 대체 ".jmp"를 ".png"로 바꿉니다.
Names Default To Here( 1 );
dt = Open( "~/Desktop/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", FrameBox, {Transparency( 0.5 )} ) )
);
frame = (gb << report)[FrameBox( 1 )];
n = dt << Get Name();
Substitute Into( n, ".jmp", ".png" );
img = New Image( "~/Desktop/" || n );
//img<<ROTATE></ROTATE>
Re: 그래프의 배경으로 그림 추가안녕,
문제는 변수 "n"이 새 이미지를 호출한 후에도 이미지가 아닌 문자열이라는 것입니다. 문자열을 이미지로 직접 변환하는 방법을 찾지 못했지만 더미 txtb = 텍스트 상자(n)를 만든 다음 해당 개체의 그림을 가져올 수 있습니다. txtimg = tctb << 그림 가져오기, 마지막으로 txtimg 변수를 사용 당신이 배경으로.
도움이 되기를 바랍니다. 다른 사람들은 이 문제를 해결하는 더 우아한 방법을 사용할 수 있습니다.
최고,
TS