JSL(グラフビルダー)で凡例名を変更するにはどうすればよいですか?CSVファイルで多くのデータ(多くの列、多くの行)を取得し、グラフの生成を標準化するためにJSLの基本テンプレートに取り組んでいます。(軸のエスカレート、軸の名前の変更、線の色の標準化など)平均して1日あたり1つのCSVファイルを取得できるため、データをJMPデータテーブルに入れ、スクリプトを実行して、グラフ出力はすべて自動化されています。
私のJMPファイルにはデフォルトでタグ名が列ヘッダーとしてあり、グラフの凡例としてはまったく有益ではありません。回避策の1つは、すべての列の名前を変更することですが、私はタグ名を保持したいので、凡例設定でテキストを直接操作します。(しかし、手動ではなく、JSLで行われます。)
たとえば、凡例ボックスに簡単にアクセスできます。
gbR = gb << Report; // gbR << Show Tree Structure;
s = gbR[legendbox(1)];
s << Set Title("new title");添付のPNGにアイデアが表示されています。
ここで行き詰まっているのは、凡例ボックス内のテキスト(タイトルを除く)にアクセスする方法です。これにより、JSLを使用してテキストを操作および変更できます。
グラフビルダーによって生成されたスクリプトが「レジェンドモデル」と「レベル名」について話しているようですが、私が試した多くのことに成功していません。
これについてのガイダンスは最もありがたいです。
前述のように、JSLを使用して、凡例テキストにアクセスしてデフォルトから変更するにはどうすればよいですか?
ありがとう。
スクリプティングRe:JSL(グラフビルダー)で凡例名を変更する方法は?凡例Box()のスクリプトインデックスの詳細には、凡例の実際のラベルの変更を可能にするメッセージが表示されていません。ただし、凡例の値はデータテーブルの値から直接取得されるため、データテーブルの値を変更または再コード化するか、「値ラベル」列プロパティを設定するだけです。Re:JSL(グラフビルダー)で凡例名を変更する方法は?明らかなものを見逃していないことを確認していただきありがとうございます。
残念ながら、私が「値ラベル」が私が達成しようとしていることをどのように実行できるかわかりません(またはわかりません)。私の目的は、ある程度、列名を効果的に変更することであり、列タイトルの下の行にあるデータ値を操作することではありません。
たとえば、「Column(dt、1)<< Set Name( "New name");」のように、特定の列に「Set Name」を使用すると、凡例のテキストにいくつかの値が含まれる単純なテーブルが変更されます。この1行の構文により、列1のデータのテキストが更新され、「新しい名前」になります。
実際のデータのグラフには、「Mean(…タグ名…)」タイプの凡例テキストがあります。実際のデータで<< Set Nameを使用する場合、「Mean(…column name…)」が含まれているため、問題のある凡例テキストがまだあります。
特定の列の凡例テキストを操作する方法についてのアイデアは、知っておくと役に立ちます。おそらく、私は最初から凡例を作成するだけなので、そのような「自作」の凡例のすべてのプロパティはアクセス可能であり、操作可能です。新しいグラフを作成するたびに(おそらく毎日)、スクリプト化されたものであり、手動による注意が必要なものではありません。
Re:JSL(グラフビルダー)で凡例名を変更する方法は?あなたのグラフビルダースクリプトで次のようなことをすることは可能ですか?
Graph Builder(
Variables( X( :age ), Y( :height ), Y( :weight, Position( 1 ) ) ),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 4 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
4,
Level Name( 0, "abcd", Item ID( "Mean(height)", 1 ) ),
Level Name( 1, "efgh", Item ID( "Mean(weight)", 1 ) )
)}
),
Dispatch( {}, "400", LegendBox, {Set Title( "My Title" )} )
)
);Re:JSL(グラフビルダー)で凡例名を変更する方法は?ありがとう。はい、もちろん可能です。さまざまなグラフを念頭に置いているので、凡例テキストの目的の名前を取得する変数が必要になると思いますか?
たとえば、グラフビルダー構文の例のとおり:
_Legend1 = "abcd";
_Legend2 = "efgh";
もしそうなら、変数の使用を管理するために以下を使用する必要がありますか?
Eval(
Substitute(
Expr(
最後に、このオプションは凡例テキストのより「直接的な」操作を実現する唯一の方法でしょうか?
Re:JSL(グラフビルダー)で凡例名を変更するにはどうすればよいですか?これは別の可能性です:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :age ), Y( :height ), Y( :weight, Position( 1 ) ) ),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 4 ) ) )
);
lgnd = gb << Get Legend Display;
item1 = lgnd << Get Item( 4, 1 );
item1 << Set Label("Line 1");
item2 = lgnd << Get Item( 4, 2 );
item2 << Set Label("Line 2");
Get Itemの最初の数値は、グラフビルダーのLegendパラメーターの値です。2番目の数字は、その凡例のインデックスになります。すべての凡例を常に表示するとは限らないため、これらの数値を正しく取得するのは難しい場合があります。凡例の完全なリストを表示する場合は、凡例設定に移動します。
Re:JSL(グラフビルダー)で凡例名を変更するにはどうすればよいですか?親愛なるポール、
添付のPNGには、グラフビルダーの出力が表示されます。
lgnd = gb << Get Legend Display;
item1 = lgnd << Get Item( 4, 1 );
item1 << Set Label("Line 1");
item2 = lgnd << Get Item( 4, 2 );
item2 << Set Label("Line 2");凡例のテキストに違いはありません。構文のロジックに従いますが、それによる影響は見られません。
2番目のPNGには、完全な構文の実行後に表示されると私が考えていたものが表示されます。
それでもこれを調べて、私が非常に感謝する方法を教えていただければ。ありがとう、スコット。
Re:JSL(グラフビルダー)で凡例名を変更するにはどうすればよいですか?申し訳ありません。これはJMP16の新機能です。追加されたばかりで、JMP15では利用できなかったことに気づきませんでした。JMP 16が利用可能になるまで、最初の方法を試す必要があります。繰り返しになりますが、誤った情報をお詫び申し上げます。