グラフの背景として画像を追加する親愛なるみんな、
以下のスクリプトを書きました。 データ テーブルを開くと、データが取得され、グラフ ビルダーを使用してグラフが作成されます。 次に、開いたデータ テーブルと同じ名前の画像を読み込み、その画像をグラフの背景として使用します。
スクリプトを機能させるには、名前の一部としてファイル拡張子 .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: グラフの背景に画像を追加するどうもありがとう、これはうまくいき、問題を解決しました。
テキスト文字列のファイル拡張子を取り除く方法を知っていますか? フォルダー内の画像ファイルの名前を読み取り、それらの名前をベクターに入れるスクリプトがあります。 各名前には拡張子も含まれます。 テキスト文字列の最後の 4 文字を削除する簡単なコマンドはありますか?
どうもありがとう、
マルチェロ。
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 では、<Into() に代入「.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 = Text Box (n) を作成し、そのオブジェクトの画像を取得します txtimg = tctb << Get Picture を実行し、最後に txtimg 変数を使用しますあなたの背景として。
お役に立てば幸いです。 他の人は、これに取り組むためのよりエレガントな方法を持っているかもしれません.
一番、
TS