你好
使用图形构建器,我试图将具有不同值的多条参考线放在同一个图上,但分为不同的组。 我在这些组上显示不同的图,并想用不同的参考线设置限制。
我可以在 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 )}
)
)
)
)
)
);