在使用「頁面」佈局功能並保持 Y 軸獨立時,需要腳本幫助在 Graph Builder 上廣播 Y 軸線嘿大家,
雖然圖形產生器中堆疊面板的新功能令人驚嘆,但實現這一驚人功能的關鍵是保持 Y 軸彼此獨立。但是,當您有很多面板(級別)並想要添加 Y 軸網格線時,您必須逐一進行添加,這很糟糕。有沒有關於腳本的想法,可以讓你索引每個面板並獨立添加網格線?
在這裡您可以看到我使用了老式的方法(在大類資料集中)複製軸設定並廣播它們的貼上,雖然它確實添加了網格線,但它將所有 Y 軸範圍設定為與複製的面板設定相同。

感謝您的任何想法!
史蒂夫
自動化和腳本數據探索與視覺化回覆:在使用「頁面」佈局功能並保持 Y 軸獨立時,需要有關在 Graph Builder 上廣播 Y 軸線的腳本的協助使用 XPath 取得您感興趣的軸框 (X、Y 軸或兩者) 的引用,然後使用該軸框清單執行任何您想要的操作。此範例在所有框架框上啟用 Y 軸的主網格
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(893, 542),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Page(:age, Levels per Row(3)), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)))
);
abs = Report(gb) << XPath("//AxisBox");
yaxis = abs[2::NItems(abs)::2];
yaxis << Show Major Grid(1);

回覆:在使用「頁面」佈局功能並保持 Y 軸獨立時,需要有關在 Graph Builder 上廣播 Y 軸線的腳本的協助太快了,賈莫!我更喜歡您的解決方案,但這裡還有另一種使用 Eval(Parse()) 的方法。
Names Default To Here( 1 );
//Manually add your reference line to the top left panel of the graph builder.
//Then run this script with the graph builder report in focus.
axisList = Current Report() << XPath( "//AxisBox" );
//Grab axis specifications from vertical axis of first panel
//(vertical axes are even-numbered items; horizontal axes are odd)
axspecList = axisList[2] << Get Script();
//find the Reference Line among the other specifications
For( i = 1, i <= N Items( axspecList ), i++,
If( Left( Char( axspecList[i] ), 12 ) == "Add Ref Line",
rlindex = i;
Break();
)
);
//Reference Line specification as string
rlstr = Char( axspecList[rlindex] );
//Apply Reference Line specification to the remaining panels
For( j = 4, j <= N Items( axisList ), j = j + 2,
estr = "axisList[" || Char( j ) || "] <<" || rlstr;
Eval( Parse( estr ) );
);