你好
使用圖形構建器,我試圖將具有不同值的多條參考線放在同一個圖上,但分為不同的組。 我在這些組上顯示不同的圖,並想用不同的參考線設置限制。
我可以在 X 軸和 Y 軸上放置參考線,但在所有繪圖組上都得到相同的線。
在這裡需要幫助
Graph Builder(
Size( 865, 686 ),
Variables(
X( :total_attenuation_db ),
Y(
Transform Column(
"Transform[rate_kbits_sec]",
Continuous,
Formula( Num( :rate_kbits_sec ) )
)
),
Group X( :iperf_protocol ),
Group Y( :bw_mhz ),
Overlay( :run_tag )
),
Elements(
Line( X, Y, Legend( 6 ) ),
Points( X, Y, Legend( 7 ) ),
Caption Box( X, Y, Legend( 8 ), Summary Statistic( "Max" ) )
),
SendToReport(
Dispatch(
{},
"total_attenuation_db",
ScaleBox,
{Add Ref Line( 94, "Dashed", "Medium Dark Red", "Limit", 2 )}
),
Dispatch(
{},
"Transform[rate_kbits_sec]",
ScaleBox,
{Min( 0 ), Max( 22821.89167292 ), Inc( 1000 ), Minor Ticks( 1 ),
Add Ref Line( 10000, "Dashed", "Medium Dark Red", "Min Limit ", 2 )}
)
)
);謝謝
Graph Builder 中任何形式的分組都會導致參考線在組之間共享。也就是說,如果存在 X 分組,則 Y 軸上的參考線將流經所有 X 組。
我所知道的避免這種情況的唯一方法是生成單獨的 Graph Builder 實例,然後讓 JMP 將 Graph Builder 的結果實例分組。您可以通過將數據表子集到每個圖形所需的行中來完成此操作。然後在每個子集上運行 Graph Builder,並將它們放入一個 New Window() 中進行顯示。您還可以在 Single Graph Builder 實例中使用 Where 子句處理,並獲得類似的結果。下面是使用 Big Class 數據表的示例。

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
New Window( "graphs",
Lineup Box( N Col( 6 ),
Graph Builder(
SendToByGroup( {:sex == "F", :age == 12} ),
Size( 289, 238 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
By( :sex,:age ),
SendToByGroup(
{:sex == "F", :age == 12},
SendToReport(
Dispatch(
{"Graph Builder sex=F, age=12"},
"weight",
ScaleBox,
{Add Ref Line( 105, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=F, age=12"},
"height",
ScaleBox,
{Add Ref Line( 59, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "F", :age == 13},
SendToReport(
Dispatch(
{"Graph Builder sex=F, age=13"},
"weight",
ScaleBox,
{Add Ref Line( 90, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=F, age=13"},
"height",
ScaleBox,
{Add Ref Line( 55, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "F", :age == 14},
SendToReport(
Dispatch(
{"Graph Builder sex=F, age=14"},
"weight",
ScaleBox,
{Add Ref Line( 111.5, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=F, age=14"},
"height",
ScaleBox,
{Add Ref Line( 63, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "F", :age == 15},
SendToReport(
Dispatch(
{"Graph Builder sex=F, age=15"},
"weight",
ScaleBox,
{Add Ref Line( 102, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=F, age=15"},
"height",
ScaleBox,
{Min( 55.0888655110677 ), Max( 64.901549594752 ), Inc( 2 ),
Minor Ticks( 1 ), Add Ref Line( 57, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "F", :age == 16},
SendToReport(
Dispatch(
{"Graph Builder sex=F, age=16"},
"weight",
ScaleBox,
{Add Ref Line( 113.5, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=F, age=16"},
"height",
ScaleBox,
{Add Ref Line( 62.5, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "F", :age == 17},
SendToReport(
Dispatch(
{"Graph Builder sex=F, age=17"},
"weight",
ScaleBox,
{Add Ref Line( 116, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=F, age=17"},
"height",
ScaleBox,
{Add Ref Line( 62, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "M", :age == 12},
SendToReport(
Dispatch(
{"Graph Builder sex=M, age=12"},
"weight",
ScaleBox,
{Add Ref Line( 103.52, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=M, age=12"},
"height",
ScaleBox,
{Add Ref Line( 56, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "M", :age == 13},
SendToReport(
Dispatch(
{"Graph Builder sex=M, age=13"},
"weight",
ScaleBox,
{Add Ref Line( 92, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=M, age=13"},
"height",
ScaleBox,
{Add Ref Line( 61.5, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "M", :age == 14},
SendToReport(
Dispatch(
{"Graph Builder sex=M, age=14"},
"weight",
ScaleBox,
{Add Ref Line( 105.04, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=M, age=14"},
"height",
ScaleBox,
{Add Ref Line( 66, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "M", :age == 15},
SendToReport(
Dispatch(
{"Graph Builder sex=M, age=15"},
"weight",
ScaleBox,
{Add Ref Line( 116.52, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=M, age=15"},
"height",
ScaleBox,
{Add Ref Line( 64.5, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "M", :age == 16},
SendToReport(
Dispatch(
{"Graph Builder sex=M, age=16"},
"weight",
ScaleBox,
{Add Ref Line( 128, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=M, age=16"},
"height",
ScaleBox,
{Add Ref Line( 68, "Solid", "Black", "", 1 )}
)
)
),
SendToByGroup(
{:sex == "M", :age == 17},
SendToReport(
Dispatch(
{"Graph Builder sex=M, age=17"},
"weight",
ScaleBox,
{Add Ref Line( 153.74, "Solid", "Black", "", 1 )}
),
Dispatch(
{"Graph Builder sex=M, age=17"},
"height",
ScaleBox,
{Add Ref Line( 69, "Solid", "Black", "", 1 )}
)
)
)
)
)
);