Elements 上的 Graph Builder JSL 命令你好,
我找不到編輯(添加元素/刪除元素/向元素添加標籤)圖形生成器元素的語法後圖表已準備就緒。
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
);
//gb[Elements(2)] << Label( "以值標示" );// ?? // 這個的語法是什麼?
//gb << 加元素(Position( 1, 3 ), Line( X, Y, Legend( 3 ) ));// ?? //Y必須是重量
謝謝
大規模客製化回覆:Elements 上的 Graph Builder JSL 命令自 Jmp17 年以來:)
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gb << Update Element(1,2,1, {Label("Label by Value")});
gb << Add Variable({:weight, Role("Y"), Method("insert")}); //creates a bar chart
gb << Add Element( 1, 3 , {Type("Line"), X, Y}, Legend( 3 ) );
gb << Remove Element( 1, 3 , 1 ); //remove bar chart回覆:Elements 上的 Graph Builder JSL 命令非常感謝你們倆。
「GraphBuilderBox」是關鍵字......
回覆:Elements 上的 Graph Builder JSL 命令@湯姆_阿布拉莫夫,
是我,使用者語法錯誤。她你走吧。
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gbb = report(gb)[GraphBuilderBox(1)];
gbb<< Update Element(1,2,1, {Label("Label by Value")});
report(gb)[GraphBuilderBox(1)] << Add Variable({:weight, Role("Y"), Method("insert")}); //creates a bar chart
gbb = report(gb)[GraphBuilderBox(1)];
gbb << Add Element( 1, 3 , {Type("Line"), X, Y}, Legend( 3 ) );
gbb << Remove Element( 1, 3 , 1 ); //remove bar chart
回覆:Elements 上的 Graph Builder JSL 命令@湯姆_阿布拉莫夫,
我走了一條不同的漫長道路,就像吉姆一樣, @tx尼爾森。然後我不得不笑,因為 JMP 有一個簡單的解決方案,其中包含以下訊息
Update Element() 傳送到 GraphBuilderBox()
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y(1), Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y(2), Legend( 2 ) ) )
);
gbb = report(gb)[GraphBuilderBox(1)];
gbb<< Update Element(1,2,1, {Label("Label by Value")});
/* //hard way not recommended
//must be done while No Labels is specified
gb<< show Control Panel(1);
so_bar = report(gb)[OutlineBox("Bar[weight]")];
cb_label = so_bar << xpath("//ComboBox/ComboBoxItem[text()='No Labels']/..");
cb_label << set(2);
gb << show Control panel(0);
*/
但是,我透過新增變數 :weight 遇到了一個問題,這很容易做到,但預設情況下,GraphBuilder 會建立另一個條形圖元素。我遇到了一些棘手的問題,幾個 JMP 異常。
我將新增一個願望清單項,JMP 允許 elemnet 的 Change To() 訊息,而不僅僅是新增元素和刪除元素。
當/如果我弄清楚時,我會添加到帖子中。
回覆:Elements 上的 Graph Builder JSL 命令@湯姆_阿布拉莫夫
我的腦海中突然浮現出一個想法,有一種方法可以解決這個問題……這是我出於不同原因多次使用的解決方案。我建議您編寫程式碼,這樣當您需要添加引用的元素時,您只需刪除整個圖表並在其位置重新建立它即可。JMP 處理刷新的方式,刪除圖形後可能不會顯示變更。它可能只會看到圖表發生了變化。
下面的程式碼說明了我的想法。
names default to here(1);
Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("Test", vlb=vlistbox());
vlb<< append(gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
));
wait(5);
gb << delete;
vlb << append(gb = Graph Builder(
Size( 465, 278 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements(
Position( 1, 2 ),
Bar( X, Y, Legend( 2 ), Label( "Label by Value" ) )
)
));回覆:Elements 上的 Graph Builder JSL 命令對我來說不好...
謝謝吉姆。
回覆:Elements 上的 Graph Builder JSL 命令我認為這是不可能的。您必須能夠做的是將一個段(Segment)(例如條形段(Bar Seg)或線段(Line Seg))傳遞到輸出中的 FrameBox()。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = Graph Builder( Variables( X( :age ), Y( :weight ) ), Elements( Bar( X, Y ) ) );
frame = Report( obj )[FrameBox( 1 )];
seg = (frame << Find Seg( "Bar Seg" ));
seg << Get Width Proportion();
seg << Set Fill Color( "Green" );
當您右鍵單擊圖表時,您可以在「自訂」選擇中以互動方式變更段,並且沒有標籤段。
