我已使用以下代码在JMP Graph Builder中创建以下图像。
Graph Builder(
Size( 1106, 867 ),
Legend Position( "Bottom" ),
Variables(
Y( :count_traditional ),
Y( :count_flat_probabilistic, Position( 1 ) ),
Y( :count_increasing_probabilistic, Position( 1 ) )
),
Elements(
Histogram( Y( 1 ), Y( 2 ), Y( 3 ), Legend( 3 ) ),
Contour( Y( 1 ), Y( 2 ), Y( 3 ), Legend( 11 ) )
),
SendToReport(
Dispatch(
{},
"count_traditional",
ScaleBox,
{Min( 0 ), Max( 20.5 ), Inc( 1 ), Minor Ticks( 1 ),
Label Row( Show Major Grid( 1 ) )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Level Name( 0, "Traditional" ),
Level Name( 1, "Probabilistic (Flat)" ),
Level Name( 2, "Probabilistic (Increasing)" ),
Properties( 0, {Line Color( 3 ), Fill Color( 3 )} ),
Properties( 1, {Line Color( 5 ), Fill Color( 5 )} ),
Properties( 2, {Line Color( 4 ), Fill Color( 4 )} )
), Legend Model(
11,
Properties( 0, {Fill Color( 67 )} ),
Properties( 1, {Fill Color( 69 )} )
)}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Number of Visits" )} ),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {3, [0, 1, 2], 11, [-1, -1, -1]} ),
Position( {0, 1, 2, -1, -1, -1} )}
)
)
)

问题:如何使第一个和第三个轮廓位于各自框的中间?
谢谢,
阿德里安
嗨,艾德里安,
我找不到解决您确切问题的实用方法,这似乎是一个错误,但是我非常接近一个可能的解决方法:
- 堆叠您的3个Y列(我将数据重命名为COUNTS个)
- 在GB中,将标签列用作X组
- 将数据拖动到Y轴框,然后选择直方图和小提琴图
- 将“标签”列拖到“覆盖”框中(在此示例中,我仅使用列1-3)
- 在“轮廓”菜单中,取消选择“覆盖”
您将获得如下内容:

脚本如下:
Graph Builder(
Variables( Y( :COUNTS ), Group X( :Label ), Overlay( :Label ) ),
Elements( Histogram( Y, Legend( 5 ) ), Contour( Y, Overlay( 0 ), Legend( 6 ) ) ),
SendToReport( Dispatch( {}, "", ScaleBox( 2 ), {Select} ) )
)
它不是完美的,但可以解决问题。
最好的,
蒂埃里
谢谢你,蒂埃里
这是您执行第3步后的数据,看起来不错。

这是您执行第4步后的情况:出问题了。

我不知道在哪里可以取消选择“覆盖”? 我在脚本中手动尝试过,但它没有更改上面复制的数字:
Graph Builder(
Size( 1022, 842 ),
Variables( Y( :Data ), Group X( :Program ), Overlay( :Program ) ),
Elements( Histogram( Y, Legend( 4 ) ), Contour( Y, Overlay( 0 ), Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"Data",
ScaleBox,
{Min( -0.5 ), Max( 20.5 ), Inc( 1 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 4, Properties( 0, {Line Color( 0 ), Fill Color( 0 )} ) ),
Legend Model( 5, Properties( 0, {Fill Color( 1 )} ) )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Number of Visits" )} )
)
)干杯,
阿德里安
嗨,艾德里安,
这是“轮廓”的“覆盖”选项位置的屏幕截图,以GB为单位

最好的,
TS
谢谢,蒂埃里! 在我的JMP(13.1)版本中没有看到该选项,因此我想是时候该更新软件了。