各位,
我寫了以下腳本。 打開數據表後,它會獲取數據並使用圖形生成器創建圖形。 然後它加載一張與打開的數據表同名的圖片,並使用該圖片作為圖表的背景。
為了使腳本正常工作,我必須將文件擴展名 .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>
也許其中之一適合您:
filename = "testname.html";
Substr(filename, 1, Contains(filename, ".")-1);
Left(filename, Length(fileName) - 5);
Word(1, filename, ".");
檢查腳本索引以了解函數功能的更多信息
非常感謝,這有效,我解決了我的問題。
你知道如何去掉文本字符串中的文件擴展名嗎? 我有一個腳本可以讀取文件夾中圖片文件的名稱並將其名稱放入向量中。 每個名稱還包含擴展名。 有沒有一個簡單的命令可以消除文本字符串的最後四個字母?
非常感謝,
馬塞洛.
在 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";
因此,您需要附加“.png”以獲得 New Image() 的完整文件名。
以下是使用 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>