ホバーラベルこんにちは、
グラフの点をクリックすると、ホバーラベルに写真を表示したいと考えています(ファイル「大クラス家族」、スクリプト「写真付きグラフビルダー」のように)。
同じことをしたいのですが、「画像」列はありません。
確かに、データベースに多くの行があり、各行に写真を入れるのは重すぎます。
すべての写真を「.jpg」形式でコンピュータに保存したいと考えています。 これらの写真には、データベースの「名前」列にあるものと同じ名前が付けられます。
たとえば、ケイティの写真には、コンピュータのフォルダ内に「KATIE.jpg」という名前が付けられます。
ポイントをクリックすると、同じ方法で名前が付けられた「名前」列のおかげで、対応する画像(「画像」列ではなく、コンピューター上のフォルダー内にあります)を表示したいと考えています。写真
助けてもらえますか?
現時点では、ポイントの上に移動したときにすべての写真が含まれるフォルダーを開くことしかできませんが、ホバーラベルのポイントに対応する写真は表示されません
ありがとう
データアクセスマスカスタマイゼーションRe: ホバーラベル@txnelsonチェックしていただきありがとうございます。
あなたは正しい、主な問題であるサムネイルの議論@フランソワーズ質問したのは JMP16 のみの機能です。 このことは、このスレッドの早い段階で、私とのやりとりで確認されました。 @エマ1 。 彼女はそれを認識していると思いましたが、もっと明示的に言うべきでした (おそらくスクリプトにバージョン チェックを追加しました)。
画像を Picture スクリプト (グラフレット JSL コールバック) に表示する前に、明示的に縮小することで、JMP15 と同等のバージョンを作成することが可能です。
Re: ホバーラベル@nascif_jmp 、検証しました@フランソワーズJMP 15 を実行しているグラフレットではグラフが表示されないことがわかりました。ただし、JMP 16 ではグラフが表示されます。
Re: ホバーラベルこんにちは、
あなたのスクリプトがわかりません:
画像を参照してください。ラベルに画像はありません。
よろしくお願いします
Re: ホバーラベルまたあったね、 @フランソワーズ、
この問題についてもう少し考えてみたところ、Set Graphlet ステートメントの外での JSL 変数の使用に関連しているのではないかと思いました。 スクリプトを見ないと何とも言えませんが、私が投稿したサンプル スクリプトをもう一度見てみました。 @エマ1サムネイルのサイズを定義する変数がグラフレット定義の外部で定義されていることがわかります。 これには問題が生じる可能性があります。
この問題を解決する添付の例を参照してください。説明した問題を解決するための道筋が得られれば幸いです。
ボンチャンス!
Re: ホバーラベルこのグラフでは、severzal グループ化が使用されています。
抜いてもダメですよ。
ではごきげんよう
Re: ホバーラベルスクリーンショットを見ると、2 つのポイントは同じパネル上にあるように見えます。 脚本を見ないと何とも言えません。 ここにコピーを投稿できない場合は、コピーをテクニカル サポートに渡してください。
また、この問題はすでに解決済みとしてマークされているため、新しいスレッドを開始することをお勧めします。
Re: ホバーラベルこんにちは@フランソワーズ、
このグラフは GroupX、GroupY、またはその他の種類のグループ化を使用していますか? その場合、一方のパネルは設定されているが、もう一方のパネルは設定されていない可能性があります。パネルは内部で独立しています。
簡単な回避策は、グループ化を削除し、サムネイルのカスタマイズを追加してから、グループ化を追加することです。 これにより、カスタマイズがすべてのパネルに均等に適用されます。
Re: ホバーラベルこんにちは、
ホバーラベルとすべてのフレームに同じサムネイルをスクリプトに入力しましたが、サイズが異なる 2 つの画像がある理由がわかりません。
誰か説明がありますか?
最高
よろしく
Re: ホバーラベルこんにちは@エマ1 、
進歩しているのを見るのは嬉しいことです。 エラー メッセージに関しては、JMP 15 でサポートされていない Thumbnail 属性の使用に関連していると思います。 JMP 15 を削除すると、エラー メッセージは表示されないようですが、正しいですか? また、コード例では、Thumbnail() 属性をコメントアウトしましたが、その前のコンマを残しました。 私もそれを削除します。
最初の試行で 2 番目のグラフの構成のみを取得した理由については、「gb」変数名を再利用したためです。 'gb = Graph Builder(...' への 2 回目の呼び出しを行うと、最初のグラフへの参照が上書きされます。
2 回目の試行では、変数を再利用する前に構成を行ったため、最初のグラフへの参照がまだ有効であったため、問題は解決しました。 しかし、コードの重複が残念であるというのは正しいことです。
2 つの JSL 機能を使用してこの問題を解決する方法を示す更新された例を添付します。
- 関数 (複数の場所で使用できるようにコードのブロックをキャプチャする) および
- リスト (複数の参照を 1 つの変数に保持し、それを反復してそれらすべてにアクションを適用することができます)。
これらのテクニックを使用すると、スクリプトの保守と整理が容易になります。
それらについて詳しくは、 JMP スクリプト ガイド。
Re: ホバーラベル別のコンピュータの JMP 15 で同じスクリプトをテストしたところ、サムネイルの写真をクリックしたときと同じエラー メッセージが表示されました。
良い一日を
Re: ホバーラベルJMP 15 でスクリプトをテストしました。何度か実行しましたが、そのたびに次のエラー メッセージが表示されます (そして JMP 15 が閉じます)。

説明はありますか?
メッセージがありましたが、すでにテクニカルサポートに送られています
Re: ホバーラベルスクリプトを作り直すことで、サムネイルをクリックしたときの画像のサイズをさらに小さくすることができました。 私にとっては完璧だと思われる 0.25 の値を維持しました
2 番目の問題 (最初のグラフではなく 2 番目のグラフにのみ適用される画像を表示するスクリプトの部分) については、解決しました。
サムネイルに画像を表示できるようにするスクリプトの部分をコピーし、それを各グラフィックの下に「貼り付け」ます。
スクリプトの負担が大きくなりましたが、この解決策しか見つかりませんでした。 何か別のことを考えていますか?
ありがとう
Re: ホバーラベルこんにちは、
私のスクリプトは次のとおりです。
Names Default To Here( 1 );
cwd = "...";
//dt = Open("....jmp");
//thumbSize = {400, 400};
scaleValue = 1.0;
gb = Graph Builder(
Size( 604, 492 ),
Variables( X( :Mois ), Y( :"A"n ) ),
Elements( Points( X, Y, Legend( 4 ) ) )
);
gb = Graph Builder(
Size( 604, 492 ),
Variables( X( :Semaine ), Y( :B ), Group X( :Produit ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) )
);
frames = (gb << report) << xpath( "//FrameBox" );
Show( N Items( frames ) );
frames << Set Graphlet(
Picture(
Picture Box(
fileName = cwd || :Name( "Quantième +n°cuve" )[local:_firstRow] || ".jpg";
Show( fileName );
img = Open( fileName, "jpg" );
img << scale( scaleValue );
img;
)
),
//Thumbnail( thumbSize )
);
まず、他のユーザーが JMP 15 を使用しているため、スクリプトに「サムネイル」を入れませんでした。 画像は標準サイズのサムネイル (170 x 200) で非常に良好に表示されます。 「scalevalue」はサムネイル画像をクリックしたときに一定サイズの写真を表示するために使用されますか? それでおしまい ?
次に、2 つのグラフを生成するスクリプトを作成しました。
ラベル内のイメージは、最初のグラフィックではなく、2 番目の (マルチパート) グラフィックにのみ表示されます。
ただし、2 番目のグラフィックではサムネイルの問題が修正され、すべてのパーツのラベルに画像が含まれています。
スクリプトの最後の部分(ラベルに写真を表示する)を以前のすべてのグラフィックス(実際には2つよりもはるかに多い)に使用して、すべてのグラフィックスのサムネイルに写真が表示されるようにする方法を見つけたいと考えています。 出来ますか ?
ありがとう
良い一日を
Re: ホバーラベルJMP16 に固有の唯一の点は、サムネイルを小さくできる Thumbnail() 属性です。
クリック時に画像を表示する前に画像を縮小する新しい方法では、その必要がないのではないかと思います。
Re: ホバーラベルわかりました。あなたのスクリプトを他のグラフィックスに適用してみます。
一方、JMP 16 では何が機能し、JMP 15 では機能しないのか理解できませんでした。 説明してもらえますか?
実際、私は JMP 16 EA をテストしていますが、他のユーザーは JMP 15 を使用しているため、JMP 15 で動作するスクリプトが必要です...
ありがとう
良い一日を
Re: ホバーラベルまたあったね、 @エマ1 !
サムネイルのサイズ設定が機能するようになってうれしいです。完全な例を示さなかったことをお詫びします。 でも、あなたはそれを理解しました、よくやった!
他の読者への注意ですが、この設定は 16.0 で追加されたものなので、あなたは早期導入バージョンを使用していると思われます。
クリック時に表示される画像が大きすぎることについては、このまま読み続けてください。その解決策を以下のスクリプトに追加しました。
グループ化変数を使用するグラフでの画像表示グラフレットの設定については、すでに問題を推測しています。 内部では、各パネル (フレームとも呼ばれます) 上のグラフは個別のグラフであり、dispatchReport コマンドは最初のグラフのみを構成しています。
これを簡単に回避するには、XPath を使用して複合グラフ内のすべてのフレームを検索します。
gb = dt << Graph Builder( ... );
frames = (gb << report) << xpath("//FrameBox");
Show(NItems(frames)); // one frame(graph) per panel
フレーム参照はリストにキャプチャされます。 setGraphlet メッセージ (実際には任意のメッセージ) をリストに送信し、リストのメンバーにメッセージを「ブロードキャスト」することで、それらすべてを一度に設定できるようになりました。
frames << Set Graphlet( ... );
完全なスクリプトを以下に添付します。 サムネイル画像をクリックしたときに JMP によって表示されるように画像を戻す前に、scale() メッセージを使用して画像のサイズを変更した方法に注目してください (私は拡大しましたが、おそらく縮小することになるでしょう)。 Thumbnail() 属性によって決定されるサイズを使用します)。
img = Open( fileName, "jpg" );
img << scale( scaleValue );
サムネイルをクリックしたときに別の画像を表示したい場合、または別のアクション (Web ページを開くかスクリプトの実行) を実行したい場合は、属性 Click() という名前の JSL フラグメントを setGraphlet() に渡すことができます。
Re: ホバーラベルまたあったね !
スクリプトを「貼り付け」て写真を他のグラフィックスに表示しようとしましたが、まだ問題が発生しています
変数を上部に「グループ化」したグラフィックスの場合 (お送りする画像のように)、チーズの写真は左側の部分にのみ表示され、他の部分には表示されません。
あたかも JMP が 2 つのグラフィックスがあるとみなして、左側の部分にのみスクリプトを適用したかのようです。

また、「レポートに送信」内に複数の「ディスパッチ」があるグラフがいくつかあります。
このような場合、チーズ写真の検索スクリプトをグラフィック全体に適用するには、どこに配置すればよいでしょうか?
ご協力ありがとうございます。質問ばかりで申し訳ありません。
確かに、初めてのときはとても助かりました...
Re: ホバーラベルこんにちは、
もう一つ質問があります:
このスクリプトはチャート (最初に作成したもの) にのみ適用されます。
いくつかのグラフを作成し、それらを同じウィンドウと異なるタブに表示できるようにする別のスクリプト(かなり長い)があります。
前のスクリプト (ドットをクリックするとチーズの写真が表示されるスクリプト) を他のすべてのグラフィックに適用したいと考えています。
これを行う簡単な方法はありますか?
ありがとう
Re: ホバーラベル@nascif_jmp成功しました!
「グラフビルダー」の前に置く必要がありました
tX = 400;
tY = 400;
size = Eval List( {tX, tY} );
gb = Graph Builder( /* ... */ );
そしてサムネイルの場合:
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Picture Box(
fileName = cwd || :Name( "Quantième +n°cuve" )[local:_firstRow] || ".jpg";
Show( fileName );
Open( fileName, "jpg" );
)
),
Thumbnail( size )
)}
)
)
ご助力に改めて感謝申し上げます。
良い一日を
Re: ホバーラベルこんにちは、
スクリプトを使用してサムネイルのサイズを大きくしようとしています
スクリプトの冒頭に次のように追加しました。
gb = Graph Builder(
tX = 400;
tY = 400;
size = Eval List( {tX, tY} );
Size( 531, 456 );,
Show Control Panel( 0 )
// ...
);
ただし、次のように最後に「サムネイル」を追加すると、機能しなくなります。
gb = Graph Builder(
tX = 400;
tY = 400;
size = Eval List( {tX, tY} );
Size( 531, 456 );,
Show Control Panel( 0 ),
// ...
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Thumbnail( size ),
Picture(
Picture Box(
fileName = cwd || :Name( "Quantième +n°cuve" )[local:_firstRow] || ".jpg";
Show( fileName );
Open( fileName, "jpg" );
)
)
)},
)
)
);
「サムネイル(サイズ)」をスクリプト内の他の場所に設定しようとしましたが、サイズを増やすことができません。適切な場所に配置していないのだと思います
サムネイル内の写真を直接クリックして大きく表示することをお勧めしますが、サイズが大きすぎます
良い一日を
ありがとう
Re: ホバーラベルうまくいったのでとてもうれしいです! こんなに美しいチーズを見られるとさらに嬉しいです! 
サムネイルのサイズをスクリプトに追加できます。 スクリプトの先頭に以下を追加します。
tX = 400; tY = 400;
size = EvalList({tX, tY});次に、 setGraphlet 呼び出し内に (おそらく Picture 属性の後に) を追加します。
Thumbnail( size )
サムネイルをクリックすると、別のウィンドウで画像をフルサイズで起動するオプションがあることにも注意してください。
Re: ホバーラベルご協力いただき誠にありがとうございました、成功しました!
「cwd」パスの最後に欠けていたのは「/」だけでした
これが写真です:

私のスクリーンショットでは、ホバーラベルエディターで写真のサイズを大きくし、次に「サムネイル」タブで写真のサイズを大きくしました。
最初は幅 = 200、高さ = 170 でしたが、幅 = 高さ = 400 としました。
この写真のサイズをスクリプトに追加することはできますか? 400×400?
それとも、スクリプトの各ユーザーがホバー ラベル エディターを使用してこれを変更する必要がありますか?
ありがとう
Re: ホバーラベルこんにちは@エマ1 、
JMP が ID とファイル名を関連付けることができることをお約束します。 しかし、そのためには十分な情報を提供する必要があります。
ファイルが存在するフォルダーを指すように「cwd」変数を定義しましたか? 「開く」コマンドには完全なファイル名が必要です。
グラフ ビルダー インスタンスを作成する前に、スクリプトの先頭に、画像フォルダーへのパスを含む文字列として cwd を定義する式を追加してください。
何かのようなもの:
Names Default to Here(1);
cwd = "C:/myProject/myImages/"; //CHANGE THE PATH TO MATCH YOUR IMAGE FOLDER
gb = Graph Builder( ...
私が共有した元の例では、現在のディレクトリ (スクリプトのロード元のディレクトリ) を使用して「cwd」を定義していました。これは、私の場合、画像フォルダーがスクリプトと同じディレクトリにあったためです。 これはあなたに当てはまるかもしれませんし、そうでないかもしれません。 画像フォルダーのパスを直接指定する方が簡単です。
また、Show() を使用してログをチェックし、ファイル名が期待どおりであることを確認することも忘れないでください。
とても近いですね! あなたの画像の 1 つが含まれるホバー ラベルのスクリーンショットを見るのを楽しみにしています。
Re: ホバーラベルこんにちは
あなたのコード行を試してみました:
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Picture Box(
fileName = cwd || :Name( "Quantième +n°cuve" )[local:_firstRow] || ".jpg";
Show( fileName );
Open( fileName, "jpg" );
)
)
)}
)
)
残念ながら、まだ機能しません。 ホバーラベルにはまだバツ印が残っています。
JMP は、列の名前とコンピューターのフォルダー内にある画像の名前を関連付けません。
データベースの列の名前を変更しながら、「Quantième+n°cuve」という名前を変更してより単純なもの(「id」)にしようとしましたが、まだ機能しません。
ご協力いただきありがとうございます
Re: ホバーラベルバツ印は、ファイルのロードに失敗したことを示します。 したがって、ファイル名はまだ正しく生成されていません。
デバッグを行う時間です。
これを試して:
写真(画像ボックス(
ファイル名 = cwd || :名前( 「カンティエーム +n°cuve」) [ローカル:_firstRow] || ".jpg";
表示(ファイル名);
開ける( ファイル名、 「jpg」 ))
)、
次に、ポイントの上にマウスを移動した後、JMP ログを確認します。 そこに出力されるファイル名がフォルダー内の画像ファイル名と一致していることを確認してください。
列名の参照方法をどのように変更したかにも注意してください。このような無効な JSL 名文字を含む列名には Name() 関数を使用する必要があります。 この変更により、実際にこの問題が解決される可能性があります。
Re: ホバーラベルわかりました、ありがとうございます!
今、私はこれを持っています:

私のスクリプトの最後の行は次のとおりです。
Picture(PictureBox(Open( cwd || :"Quantième +n°cuve"[local:_firstRow] || ".jpg", "jpg"))),
今、ホバーラベルにバツ印が付いています...
助けてもらえますか?
ありがとう
Re: ホバーラベルOK、見てみましょう:
>> 教えていただいたことを適用しましたが、点をクリックしてもホバーラベルは表示されず、コンピューターの写真ファイルのみが開きます。
ホバー ラベル (通常ツールチップと呼ばれるものに対する JMP の名前) は、名前が示すように、グラフ内のマーカーをクリックしたときではなく、マウスをその上に置いたときに表示されます。 ホバー ラベルが表示されたら、すべてがうまくいけば、画像ファイルのサムネイルが表示されます。画像をクリックすると、新しい JMP ウィンドウで画像を開くなど、追加のアクションを実行できます。
>> スクリプトの最後の行: "Picture (PictureBox (Open (cwd," \ .jpg "))),"
上記の open コマンドには 2 つの問題があります。
1) 最初の引数には、対応するファイル名を作成するためのテーブル行の値がありません。 画像ファイルではなくフォルダーを開こうとしています。
2) 2 番目の引数、open コマンドにファイル データの読み取り方法を指示する型修飾子は、単に「jpg」である必要があります。
思い出してください。以前に投稿した例の open コマンドを次に示します。
Picture(PictureBox(Open( cwd || local:_Species || ".jpg", "jpg"))),
ローカル変数 ('local:_Species') を使用して、観察に一致するファイル名を作成していることに注目してください。 データテーブルにも同様の列があると思います。 現在のビジュアル マーカーに対応する値を保持するローカル変数が、ラベル付き列に対して自動的に作成されます。 ファイル名に一致するデータ テーブル内の列にラベルが付いていなくても、ローカル変数 'local:_firstRow' をインデックスとして使用する直接列参照を使用して、その値を取得できます。 次のようになります。
Picture(PictureBox(Open( cwd || :species[local:_firstRow] || ".jpg", "jpg"))),
これらのローカル変数は、ホバーラベル実行コンテキスト。
>> このステップで、写真フォルダーとデータベースの列の 1 つに同じ名前を持つ点の写真を開くように指定することはできますか? この列の名前をコンピューターのフォルダー内の画像名にリンクするには?
はい、そうです。 実現はかなり近づいています。 
Re: ホバーラベルわかりました、ありがとう!
教えていただいたことを適用しましたが、点をクリックしてもホバーラベルは表示されず、コンピューターの写真ファイルのみが開きます。
スクリプトの最後の行: "Picture (PictureBox (Open (cwd," \ .jpg "))),"
このステップで、写真フォルダーとデータベースの列の 1 つに同じ名前を持つ点の写真を開くように指定することはできますか? この列の名前をコンピューターのフォルダー内の画像名にリンクするには?
ありがとう
Re: ホバーラベル@エマ1 、
私の返信で例として投稿したスクリプトは、説明したようにホバーラベル内の画像をサムネイルとして表示する方法を示しています。
また、Web からではなく、ディスクからイメージを読み取ります。
「開く」関数は、その名前に反して、フォルダーを開きません。 画像をロードして、ピクチャーボックス、縮小され、ホバー ラベル内にサムネイルとして表示されます。
クリック イベント時のブラウザ上での画像の表示はオプションです。 不要な場合は、スクリプトから「Click」属性を削除できます。
この場合、サムネイルをクリックすると、通常の JMP ウィンドウに画像が表示されます。
Re: ホバーラベルお二方のご回答誠にありがとうございました@HadleyMyersそして@nascif_jmp 。
私はすでに Iris の記事を読み、スクリプトを試してみました。
ただし、Web リンクを参照するのではなく、フォルダー内の画像を参照したいと考えています。
スクリプトには Web リンクではなく、特定の写真を見つけるためのリンクを表示する必要があります。
さらに、スクリプトに存在する「開く」関数を使用して写真のフォルダーを開く必要はありません。必要なのは、この写真がホバー ラベルに表示されることだけです。
Re: ホバーラベル私は私が提案したものよりもこれの方が好きです。
Re: ホバーラベルこんにちは@エマ1 、
これは、JMP 15.0 で追加された Hover Label 拡張機能である Graphlets を使用して実行できます。画像列の値に基づいて画像ファイルの検索方法を JMP に指示するには、少しの JSL が必要です。 以下の例は、Iris データセットを使用し、対応する種から画像ファイル名を導出するそのアプローチを示しています。 おまけとして、ホバー ラベルのサムネイルをクリックしたときにブラウザ ウィンドウで写真を開く方法も示します。
また、ホバー ラベル エディターを使用して、少ないコーディングでこれと同じテクニックを実装することもできます (以下の「ピクチャ」属性と「クリック」属性 (オプション) のコンテンツを指定するだけです。
詳細については、ドキュメンテーション。
もチェックしてくださいウィキリーダーWeb API (この場合は Wikipedia) から画像 (およびテキスト) を表示する例のファイル交換スクリプト。
// Uses Graphlet to display flower image as thumbnail, click to open in browser
Names Default to Here(1);
cwd = Get Default Directory();
dt = Open("$SAMPLE_DATA/Iris.jmp");
gb = dt <<
Graph Builder(
Size( 531, 456 ),
Show Control Panel( 0 ),
Variables( X( :Petal length ), Y( :Sepal length ), Color( :Species ) ),
Elements( Points( X, Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(PictureBox(Open( cwd || local:_Species || ".jpg", "jpg"))),
Click(Web( "file://" || cwd || local:_Species || ".jpg" ))
)}
)
)
);
Re: ホバーラベルこんにちは、
これは本当に興味深いリクエストですね!これを行うための考えられる方法の 1 つは、スクリプトを使用して、1) 新しい列を作成し、2) ファイル名が別の列の値と一致する行にその列の画像を挿入し、3) 画像を次のように表示することです。ホバーラベル。このようにすると、ポイントの上にマウスを置いたときにのみ画像がテーブルに追加されます。新しい列を作成する前にピクチャ列が存在する場合はそれを削除する行をスクリプトの先頭に追加すると、一度に 1 つのピクチャのみがテーブルに挿入されるようになります。これはうまくいくように思えますか?