ディレクトリからデータテーブルに画像を追加する皆さん、私は JMP12 を実行していて、一連の PNG 画像をデータ テーブルに追加したいと考えています。これを実行して、統計的平均一致フラグの散布図上のラベルとして使用し、各フラグの値の上にマウスを置くことで PNG (管理限界図のイメージ) を呼び出せるようにしたいと考えています。Gail Massari がウィキペディアの Web URL から州の鳥の写真をインポートしている SAS ビデオを見つけました。彼とは異なり、私の画像はローカルのハードドライブ上のフォルダーにあります。
私は命令を試してみました:
{"",{ newimage(open( "drive:\file path\filename.png",png))}" を各行のエントリとして実行しますが、返されるのは "Empty()" 出力だけです。
私は JSL スクリプトを初めて使用するため、アイデアが不足しています。
Re: ディレクトリからデータテーブルに画像を追加する開く前に、関数 If (File Exits(), Open(); など) を使用します。 );
For( i = 1, i <= nr, i++,
If ( File Exists( :PNG_URL[i]|| ".png" ),
// do this only of the file is found
tp = Open( :PNG_URL[i], "png" );
Latest_Report:PNGs[i] = New Image( tp );
) // end if
);
Latest_Report:PNGs << label( 1 );
Re: ディレクトリからデータテーブルに画像を追加する次のループを使用しながら、グラフのラベルとして画像 (つまり *.png) を使用するこのトピックを構築します。
For( i = 1、i <= nr、i++、
tp = Open( :PNG_URL[i], "png" );
最新_レポート:PNGs[i] = 新しい画像( tp )
);
最新レポート:PNG << ラベル (1);
OPEN コマンドで PNG ファイルのいずれかが見つからないたびにスクリプトが停止し、それ以降、フォルダー アドレスを示す他の行は無視され、JMP はそれぞれの行で「(空)」という結果を返すことがわかりました。テーブルの残りのセル。これは、1 つの行がループの失敗をトリガーするため、貴重な情報が表示されないことを意味します。
これをオーバーライドする最善の方法は何ですか?
ループを再度実行すると、別の列 (この場合は :PNG_URL 2) が追加されるだけで、(期待どおり) 同じ結果が得られます。
Re: ディレクトリからデータテーブルに画像を追加する改めて、お時間をいただきありがとうございました。
このコミュニティでの交流は楽しい学習体験でした。
Re: ディレクトリからデータテーブルに画像を追加するジャーナルはディスプレイのスナップショットです。1 つのオプションは、埋め込みテーブルを含む .JRP として保存することです。 その後、別のユーザーがそれを開くと、基になるテーブルとレポートがアクティブになります。
JMP 13 および 14 ではインタラクティブ HTM として保存表示が保存され、ラベルが埋め込まれます。
Re: ディレクトリからデータテーブルに画像を追加するgzmorgan、これは素晴らしく、魅力的に機能しました。 ありがとうございました!!
最後の質問ですが、
JMP.12 のジャーナルでは、グラフ内のデータ ポイントを選択したり、その上にマウスを移動したりするときにラベルを表示できませんか?Re: ディレクトリからデータテーブルに画像を追加するフルパスは別の列にありますか、それともパスの列とファイル名の列がありますか?
それが :Path という名前の列であるとします。 すべてpngファイルなので、
tp = Open( :Path[i], "png" );
:Dir と :Name という 2 つの列がある場合、ディレクトリ名の末尾にスラッシュがない場合は、次のようなものを使用します。
tp = Open( :Dir[i] || "\" || :Name[i], "png" );
JMP の古いバージョンでは eval() が必要でした
tp = Open( eval( :Dir[i] || "\" || :Name[i] ) , "png" );
スクリプトを実行する前に試してみて、i を数字に置き換えて 1 行だけ実行して、ファイルのパス名が正しいことを確認してください。
Re: ディレクトリからデータテーブルに画像を追加するこれはまさに私が必要としていることであり、ソリューションは単純にエレガントです。お時間を割いていただき、大変感謝しております。
さあ、挑戦です...
PNG ファイルを 46 個の個別のフォルダーに保存していますが、PNG ファイルは同じ名前を共有しています。たとえば、私は「グラフ30.png 」を 20 ~ 30 回繰り返しますが、別の管理限界図の画像であるため、各ファイルは別のフォルダーに保存されます。データテーブル内の個別の列として、それぞれのパス\ファイル名がすでにあります。
それぞれを探すのに最適な方法は何でしょうかグラフXX.png連続した列ですでに使用可能な特定のパス\ファイル名に基づいていますか?
Re: ディレクトリからデータテーブルに画像を追加するRSantana 氏、Gail のビデオは、埋め込み画像ではなく URL から画像を取得する方法をデモンストレーションしていました。
デフォルトの名前が Here(1) で始まるスクリプトを試してください。 JMP12で作成されました。
すべての画像が同じタイプの場合は、11 行目と 12 行目を単純化できることに注意してください。 すべての画像が png であると仮定すると、11 行目: _typ = word() は必要なくなり、12 行目で Eval( EvalExpr() ) 関数を削除できます。 サンプル画像にはさまざまなタイプがあり、JMP 12 では open が変数 _ext を評価しないため、この例でこれが必要になりました。式を置換してから評価する必要がありました。
これは簡略化された行 12 になります。 tp = Open("$Sample_images/"||_fid[i], "png" );
これをコピーして JMP スクリプト ウィンドウに貼り付け、実行してからポイントの上にマウスを置きます。 最後のコメントは、各画像の「コード」をテーブルの列に埋め込むことです。
Names Default to Here(1);
_fid = Files in Directory("$sample_images");
nr = nitems(_fid);
//Create a table
dt = New Table("demo",add rows(nr),
New Column("X", <<SET values=""></SET>