グラフビルダーの単一のウィンドウから各グラフをjmp以外のファイル形式に保存するにはどうすればいいですか?こんにちは、みんな、
グラフビルダーからスクリプトを保存して、目的のグラフを作成しました。変数をドラッグし、リスト(:Sample)をラップにドラッグして、各カテゴリに対して同じグラフを作成しました。私はすべての人に同じ種類のグラフを印刷する方法を見つけようとしています。問題は、グラフビルダーからスクリプトを実行してもグラフが1つしか生成されないことです(これが最初になります)。私はループが必要だと思いました、そして私は以下に書きましたが、うまくいきません。これをどのように行うかについての手掛かりを私に与えることができるか、あなたが私が間違っていることを私に言うことができるなら誰かがいますか?
for(g=1, g<=N items(::Sample), g++,
For(i=1,i<=N items(Eval(::Sample[g])), i++,
gb= dt4 << Graph Builder(
Size( 894, 625 ),
Legend Position( "Bottom" ),
Show Title( 0 ),
Variables(
X( :Days ),
Y( :Model Biogas yield ),
Y( :Biogas Yield, Position( 1 ) ),
Group X( :Sample, Show Title( 0 ), N View Levels( 1 ) )
),
Elements(
Points( X, Y( 2 ), Legend( 14 ), Jitter Limit( 1.1193 ) ),
Smoother( X, Y( 1 ), Legend( 15 ) )
),
SendToReport(
Dispatch(
{},
"Days",
ScaleBox,
{Min( 0 ), Max( 21 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row(
{Inside Ticks( 1 ), Set Font( "Calibri" ), Set Font Size( 14 )}
)}
),
Dispatch(
{},
"Model Biogas yield",
ScaleBox,
{Min( 0 ), Max( 700 ), Inc( 50 ), Minor Ticks( 0 ),
Label Row(
{Inside Ticks( 1 ), Set Font( "Calibri" ), Set Font Size( 14 )}
)}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
14,
Level Name( 0, "Experimental", Item ID( "Biogas Yield", 1 ) ),
Properties( 0, {Marker Size( 5 )}, Item ID( "Biogas Yield", 1 ) )
), Legend Model(
15,
Level Name( 0, "Model", Item ID( "Smooth(Model Biogas yield)", 1 ) ),
Properties(
0,
{Line Color( 32 ), Line Width( 3 )},
Item ID( "Smooth(Model Biogas yield)", 1 )
)
)}
),
Dispatch(
{},
"X title",
TextEditBox,
{Set Font( "Calibri" ), Set Font Size( 14 )}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Font( "Calibri" ), Set Font Size( 14 ),
Set Text( "Biogas yield (m3/t VS)" )}
)
)
);
gb<< Save picture ("C:\data\Graph Builder_" || ::Sample[g]||".jpg", JPEG);
););
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するはい、私は個々のグラフを個々の画像ファイルに保存したいと思います。個々の画像ファイルは下記のようにどのMSプラットフォームにも置くことができます。再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するHI PhilとJim、
Bigクラスの例を使用してください。性別によって体重と身長の関係をプロットしたい場合は、次のようなGraph Builderスクリプトを作成します。
dt= Open ("C:\Program Files\SAS\JMP\14\Samples\Data\Big Class.JMP");
dt<< Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :sex, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
私がやりたいことはそれからそれぞれについて結果のグラフを保存することです:性。それ、どうやったら出来るの?
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する
これはあなたがしたいことの種類の例としてどうですか。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 564, 350 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group X( :sex ) ),
Elements( Line Of Fit( X, Y, Legend( 8 ) ), Points( X, Y, Legend( 9 ) ) )
);
そして、Group X変数の各レベルの身長と体重を個別の画像ファイルとして保存しますか?
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するあなたがやろうとしていることのより単純だがより完全な例を提供できますか?Big Classデータを使用しているかもしれません。あなたが状況と質問をもっとはっきりとそしてもっと一般的な方法で説明して、どんな解決策も他の人にすぐに役立つようになるならば、コミュニティのメンバーが手助けすることはより簡単です。
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する「サンプル」は、このディスカッションに提供したコードからのものです。 だから私はあなたの質問であなたを助けることはできません。 あなたのコードでは、"Sample"がどこで作成されたのかは示していません。 それはただコードの中に現れます。
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する私は試してみました:以下のようにSampleと:: Sampleそして私はJSLデバッガを実行しました:
for(g=1, g<=N items(:sample), print(:sample),
For(i=1,i<=N items(Eval(:Sample[g])), i++,
gb= dt4 << Graph Builder(
Size( 894, 625 ),
Legend Position( "Bottom" ),
Show Title( 0 ),
Variables(
X( :Days ),
Y( :Model Biogas yield ),
Y( :Biogas Yield, Position( 1 ) ),
Group X( :Sample, Show Title( 0 ), N View Levels( 1 ) )
私が使用するとき:私はエラーを得るN items()はリストでなければなりません。
:: Sampleを使用すると、名前未解決のエラーが発生します。'sample'の評価にアクセスする際のサンプル、:: sample / * ## * /
どこで値を探すべきかよくわかりませんか。
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するへの参照
::sample
カラムではなく、JSLメモリ変数への参照です。
列を参照したい場合は、次のように指定します。
:sample
// or
dt4:sample
// or if referring to a specific row value, like row 7's value
dt4:sample[7]
スクリプトを実行して、最初のFor()ループの前に次の行を配置してください。
print(::sample);
次にログを調べて、それがどのような価値を持っているのかを確認します。
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するdtのスクリーンショットを添付しました。

再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する私はそれを間違ったことと呼んでいるかもしれません。まだこれらの用語に精通しています。それは公称文字です。変数の各グループには、名義文字があります。基本的に、Sampleという名前の1つの列が変数のグループに一致します。それは基本的に4番目の変数です。だから私はこの場合も条件付き文を使用する必要があると思いますか?再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するわかりました.....私はもっと具体的にしようと思います......私はあなたがどのようにJSLリストを使っていて、それがうまくいくのかわかりません。::サンプル値はです。 これが理由です:
:: sampleが文字リストの場合
::sample = {"one", "Two", "three"};
For( g = 1, g <= N Items( ::Sample ), g++,
For( i = 1, i <= N Items( Eval( ::Sample[g] ) ), i++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
)
);
コードは次のエラーで失敗します。
::sample = {"one", "Two", "three"};
For( g = 1, g <= N Items( ::Sample ), g++,
For( i = 1, i <= N Items( Eval( ::Sample[g] ) ), i++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
)
);
/*:
N Items() argument must be a list
リストが数値の数値リストの場合
::sample = {1, 2, 3};
For( g = 1, g <= N Items( ::Sample ), g++,
Print( "C:\data\Graph Builder_" || ::Sample[g] || ".jpg" )
);
あなたがあなたのセーブ画像の中の文字列を連結しようとするとコードは失敗するでしょう
argument should be character in access or evaluation of 'Concat' , Bad Argument( ::Sample[g] ), "C:\data\Graph Builder_" || /*###*/::Sample[g] || /*###*/".jpg" /*###*/
In the following script, error marked by /*###*/
::sample = {1, 2, 3};
For( g = 1, g <= N Items( ::Sample ), g++,
Print(
"C:\data\Graph Builder_" || /*###*/::Sample[g] || /*###*/".jpg" /*###*/
)
);
だからこそ、私はあなたの:: sampleリストが正確に何を含んでいるのか見たいのです。
それはまたあなたの2つのループの目的が何であるかを解釈するのを助けるでしょう。
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するはい、それはJSLリストです
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存するしかし、私はもう一度あなたに変数:: Sampleが何であるかを示すように頼みます。JSLリストなのか、それとも文字変数なのか。それは価値が何ですか?再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する同じグラフを使い続けたいのですが。グラフを12回保存するか、:Sampleに関係なく保存し、それを:Sampleの対応する名前のファイルに保存します。それは理にかなっていますか?
再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する指定したGraph Builderコードは1つのグラフのみを生成します。そして、gとIをループしても、Graph Builderの仕様には何も変更が加えられていません。これは、生成されるグラフに異なるものが必要なことを示しています。グラフからグラフへの変更を期待していますか?再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する値ではなく、12のカテゴリの名前です。それぞれグラフがあります。再:どのようにグラフビルダーの単一のウィンドウからjmpとは異なるファイル形式に各グラフを保存する:: Sampleの値を教えてください。同じファイルの上に何度も書いているようです……