回复:不同大小的子图?你好@hogi ,
是的,这样做可能有点挑战,但这是可能的:)
这是 JMP 的结果:

这是在 JMP 上实现它的脚本(使用示例中的“Big Class”数据集):
Graph Builder(
Size( 638, 610 ),
Show Control Panel( 0 ),
Variables( X( :X ), X( :height ), Y( :height ), Y( :weight ), Overlay( :sex ) ),
Relative Sizes( "X", [157 427] ),
Relative Sizes( "Y", [114 246] ),
Elements( Position( 1, 1 ) ),
Elements( Position( 1, 2 ), Histogram( X, Y, Legend( 44 ) ) ),
Elements( Position( 2, 1 ), Histogram( X, Y, Legend( 42 ) ) ),
Elements(
Position( 2, 2 ),
Points( X, Y, Legend( 36 ) ),
Smoother( X, Y, Legend( 45 ) )
),
SendToReport(
Dispatch(
{},
"X",
ScaleBox,
{Label Row(
{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
}
)}
),
Dispatch(
{},
"height",
ScaleBox( 2 ),
{Label Row(
{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
}
)}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
42,
Base( 0, 0, 0, Item ID( "F", 1 ) ),
Base( 1, 0, 0, Item ID( "M", 1 ) )
), Legend Model(
36,
Base( 0, 0, 0, Item ID( "F", 1 ) ),
Base( 1, 0, 0, Item ID( "M", 1 ) )
)}
),
Dispatch( {}, "X title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "" )} ),
Dispatch(
{},
"400",
LegendBox,
{Legend Position(
{44, [-1, -1], 42, [-1, -1], 36, [-1, -1], 45, [0, 1]}
)}
)
)
);
“技巧”是在你的数据表中创建一个虚拟变量列“X”(例如只有值“1”),以实现左角的子图。 然后您可以隐藏所有图形刻度和值。 在 X 轴上,您有两个变量:“X”和“身高”,在 Y 轴上,您有两个变量“身高”和“体重”。
要单独调整图表中元素的大小,只需在轴上移动鼠标,直到对角线上出现双箭头,然后单击并移动此双箭头以调整所需轴/元素的大小。
我希望这能帮到您,
PS:如果您还不知道,我强烈建议您查看“图库中的图片”系列中有关 Graph Builder 的提示和技巧,作者是@scwise (Scott Wise),总是有趣且有见地!
回复:不同大小的子图?维克多和霍吉,
感谢 Victor 对 Gallery Advanced Graph Builder 视图中的图片大声疾呼,以及您出色的脚本解决方案。 还有一种不太优雅但非编码的方式来实现这种所需的图形视图。 它是“图片来自画廊 5”中的方法之一,您可以通过此链接访问视频并下载包含步骤、数据和脚本的日志: Discovery-Summit-Munich-2020-Pictures-From-the-Gallery-5 . 诀窍是设置虚拟变量,可用于将额外的图形类型放在侧面和顶部以生成另一个视图,例如在本例中围绕相同 X 轴和 Y 轴上的散点图的箱线图。

希望这对您有所帮助,并让您在 JMP 中继续探索和可视化的乐趣!
斯科特
不同大小的子图?是否可以在 Jmp 中生成此图?

数据探索和可视化回复:不同大小的子图?
@Victor_G写道:要独立调整图表中元素的大小,只需在轴上移动鼠标,直到对角线上出现双箭头,然后单击并移动此双箭头以调整所需的轴/元素的大小。
极好的!
我刚刚在复活节彩蛋列表中添加了一个条目:
CTRL/Alt/Shift + 单击/选择/双击/右键单击
回复:子图大小不同?我可以把左边的直方图翻转一下,让柱状图指向左边吗?
回复:子图大小不同?是的@hogi ,只需右键单击 x 轴左侧,转到“轴设置”,然后选中“反转顺序”选项即可:

你应该得到具有所需方向的图表:

以下是脚本:
Graph Builder(
Size( 638, 610 ),
Show Control Panel( 0 ),
Variables( X( :X ), X( :height ), Y( :height ), Y( :weight ), Overlay( :sex ) ),
Relative Sizes( "X", [157 427] ),
Relative Sizes( "Y", [114 246] ),
Elements( Position( 1, 1 ) ),
Elements( Position( 1, 2 ), Histogram( X, Y, Legend( 44 ) ) ),
Elements( Position( 2, 1 ), Histogram( X, Y, Legend( 42 ) ) ),
Elements(
Position( 2, 2 ),
Points( X, Y, Legend( 36 ) ),
Smoother( X, Y, Legend( 45 ) )
),
SendToReport(
Dispatch( {}, "X", ScaleBox,
{Reversed Scale, Label Row(
{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
}
)}
),
Dispatch( {}, "height", ScaleBox( 2 ),
{Label Row(
{Automatic Font Size( 0 ), Automatic Tick Marks( 0 ),
Show Major Labels( 0 ), Show Major Ticks( 0 ), Show Minor Ticks( 0 )
}
)}
),
Dispatch( {}, "400", ScaleBox,
{Legend Model(
42,
Base( 0, 0, 0, Item ID( "F", 1 ) ),
Base( 1, 0, 0, Item ID( "M", 1 ) )
), Legend Model(
36,
Base( 0, 0, 0, Item ID( "F", 1 ) ),
Base( 1, 0, 0, Item ID( "M", 1 ) )
)}
),
Dispatch( {}, "X title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "400", LegendBox,
{Legend Position(
{44, [-1, -1], 42, [-1, -1], 36, [-1, -1], 45, [0, 1]}
)}
)
)
);
请记住在数据集中添加一个虚拟列(这里标记为“X”),其中只包含常量值(这里为 1),以便能够添加像这样的可视化效果。
希望这个回答对您有所帮助。
回复:子图大小不同?啊!
通常,我使用名义 X 表示“所有行 = 同一类别”——这样就无法反转图表。
诀窍在于:将建模类型更改为连续型。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
new column ("X", Nominal,Set each value(1));
Graph Builder(
Size( 638, 610 ),
Show Control Panel( 0 ),
Graph Spacing( 4 ),
Variables( X( :X ), X( :height ), Y( :height ), Y( :weight ), Overlay( :sex ) ),
Relative Sizes( "X", [157 427] ),
Relative Sizes( "Y", [114 246] ),
Elements( Position( 1, 1 ) ),
Elements( Position( 1, 2 ), Histogram( X, Y ) ),
Elements( Position( 2, 1 ), Histogram( X, Y ) ),
Elements( Position( 2, 2 ), Points( X, Y), Smoother( X, Y) ),
SendToReport( Dispatch( {}, {:X}, ScaleBox, {Reversed Scale} ) ),
SendToReport(
Dispatch( {}, "X", ScaleBox,
{Reversed Scale}
)
));
wait(3);
:X << Set Modeling Type( "Continuous" );