各位,
我写了以下脚本。 打开数据表后,它会获取数据并使用图形生成器创建图形。 然后它加载一张与打开的数据表同名的图片,并使用该图片作为图表的背景。
为了使脚本正常工作,我必须将文件扩展名 .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>