如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式?大家好,
我已從圖形構建器中保存腳本以生成所需的圖形。我拖動了我的變量並將我的列表(:Sample)拖到Wrap上,為每個類別生成相同的圖形。我試圖找出一種為所有人打印相同圖表類型的方法。問題是從圖形構建器運行腳本只會產生一個圖形(它首先出現)。我以為我需要一個Loop而且我已經在下面寫了但是沒有用。有沒有人可以給我一些關於如何做到這一點的線索,或者如果你能告訴我我做錯了什麼?
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);
););
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式是的,我想將單個圖表保存到單個圖像文件中,該文件可以在任何MS平台下,如下所述。Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式嗨菲爾和吉姆,
使用Big類示例。如果我想根據性別繪製權重與身高,我會得到以下圖表構建器腳本:
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 ) ) )
);
我想要做的是然後為每個保存結果圖:性別。我怎麼做?
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與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變量的每個級別的高度與重量保存為單個圖像文件?
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式您能否提供一個更簡單但更完整的例子來說明您的目標?也許使用Big Class數據。如果您更清楚地以更一般的方式解釋情況和問題,社區成員將更容易提供幫助,以便任何解決方案對其他人都有用。
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式“示例”來自您為本次討論提供的代碼。 所以我無法幫助你解決問題。 在您的代碼中,您沒有顯示創建“Sample”的位置。 它只出現在代碼中。
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與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 ) )
當我使用:Sample我得到錯誤N items()必須是一個列表。
當我使用:: Sample I時出現錯誤名稱未解析:訪問評估'sample'的樣本,:: sample / * ## * /
我不知道在哪裡尋找價值?
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與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);
然後查看日誌,看看它有什麼價值。
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式我附上了dt的屏幕截圖。

Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式我可能稱它為錯誤的東西。仍然熟悉這些條款。這是一個名義上的角色。對於每組變量,都有一個名義字符。基本上一個名為Sample的列匹配一組變量。它基本上是第四個變量。所以我想在這種情況下我還需要使用條件句?Re:如何將圖形構建器中單個窗口中的每個圖形保存為與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 list包含的內容......
這也有助於解釋2循環的目的。
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式是的這是一個JSL列表
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式好的,但我會再次要求你展示變量:: Sample是什麼。它是一個JSL列表,還是一個字符變量????它的價值是什麼?Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式我想保持相同的圖表。我只想將圖表保存12次或保存:不管樣本並將其保存在具有相應名稱的文件中:Sample。那有意義嗎?
Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式您指定的Graph Builder代碼僅生成一個圖形。當你遍歷g和我時,你沒有改變Graph Builder規範中的任何內容,這表明你想要生成的圖形中有任何不同的東西。你期望從圖形到圖形的變化是什麼?Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式它不是一個價值,而是12個類別的名稱。每個都有圖表。Re:如何將圖形構建器中單個窗口中的每個圖形保存為與jmp不同的文件格式你能提供:: Sample的價值是多少?你似乎多次寫在同一個文件之上......