分组图形的X轴宽度可以单独设置吗?比如我这样画完图之后,这两个x轴的宽度就设置不一样了。
谢谢!
dt=Open("$SAMPLE_DATA/Big Class.jmp");
d2=dt<<SUMMARY></SUMMARY>
<P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><span class="lia-inline-image-display-wrapper" image-alt="2025-05-01_11-07-14.png" style="width: 729px;"><img src="https://us.v-cdn.net/6038925/uploads/images/75382i47576C683FBC176C/2025-05-01_11-07-14.png" role="button" title="2025-05-01_11-07-14.png" alt="2025-05-01_11-07-14.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P><LINGO-LABS id="lingo-labs-871238" slang="en-US" mode="CREATE"><LINGO-LABEL>自动化和脚本</LINGO-LABEL><LINGO-LABEL>视窗</LINGO-LABEL></LINGO-LABS>
Re: 分组图形的X轴宽度可以单独设置吗?您可以将高度列分为两部分:

...并生成 2 个相邻的图:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height F ), X( :height M ), Y( :age ), Color( :N Rows ) ),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y ) ),
Elements( Position( 2, 1 ), Bar( X, Y ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 )} )
)
);
不幸的是,剧情中的颜色出乎意料:男女都是同一种颜色?!
似乎颜色取自用于响应轴的列中没有值的行。
-> 有趣/重要的发现!

Re: 分组图形的X轴宽度可以单独设置吗?谢谢专家!
Re: 分组图形的X轴宽度可以单独设置吗?因此,此外,分割颜色或年龄轴:

Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
);
通过独立缩放 x 轴的能力,您还可以获得 2 个颜色尺度的有意义范围(= 相同范围)的“职责”。
Re: 分组图形的X轴宽度可以单独设置吗?更好的方法:通过页面
- 独立的 x 轴
- synchronous y axis scale - via Link Page Axes( "Y Only" ),
- 同步色标
我希望你不介意情节之间的小差距

Graph Builder(
Size( 527, 455 ),
Show Control Panel( 0 ),
Link Page Axes( "Y Only" ),
Replicate Linked Page Axes( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :age ), Page( :sex, Levels per Row( 2 ) ), Color( :N Rows ) ),
Elements( Bar( X, Y, Legend( 7 ) ) )
);
Re: 分组图形的X轴宽度可以单独设置吗?这个宽度是一样的。
Re: 分组图形的X轴宽度可以单独设置吗?哦,是的,你说得对。范围可以单独调整,但宽度还是被强制保持不变。
那么我担心您需要冗长的代码。
让我们看看其他用户的建议...
Re: 分组图形的X轴宽度可以单独设置吗?谢谢专家!
我正在使用这个脚本。
我们如何通过截取屏幕截图、将鼠标悬停在图形上或单击图形来获取此子集?

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
));
Re: 分组图形的X轴宽度可以单独设置吗?我尝试了这样的代码,只有点击左侧的图像“F”才能成功。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
d1=dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
p2=d1<< Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
));
frame=(p2<
<REPORT></REPORT>
<P><SPAN><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><span class="lia-inline-image-display-wrapper" image-alt="2025-05-07_10-58-54.png" style="width: 580px;"><img src="https://us.v-cdn.net/6038925/uploads/images/75545i98906BC556EE670B/2025-05-07_10-58-54.png" role="button" title="2025-05-07_10-58-54.png" alt="2025-05-07_10-58-54.png" /></span></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P> <P>谢谢专家!</P>
Re: 分组图形的X轴宽度可以单独设置吗?在帖子 N-2 中的图片中,您似乎还可以点击右侧的“M”栏?
为了更好地理解这个问题,您能否添加一些评论以说明什么是可能的,什么是不可能的?
哪个 JMP 版本?
Re: 分组图形的X轴宽度可以单独设置吗?经过再次思考(关于我原来的帖子):
我不建议创建这样的图表——非常危险。
我必须使用合并来压缩 Y 轴上的标签。*)

否则,图形生成器将绘制解压缩后的图像:

一个)
合并导致 Y 轴上的标签错误:1,2,3......而不是 12,13,14......
b)它是系统性的,但很危险:
要查看该问题,只需生成缺少一个条目的图(例如,没有女性,15 岁):

由于“合并”将标签替换为 1、2、3...这会导致女性条形图发生偏移并与男性条形图错位(!)
这个主题很有趣,它说明了 JMP 如何处理缺少条目的数据。
顺便说一下 - 在我的系统上,默认设置是

因此,如果您的图表是空的:

转到红色三角形菜单并激活该选项。
下一行:
禁用“包含缺失类别”后 -(以及我们添加的所有缺失值!)就没有任何内容可绘制。
(图形生成器还会从未使用缺失值的列的子图中删除该行)。
启用“包括缺失类别”后,图形生成器会将缺失值视为单独的级别,从而添加不必要的分割。
为了消除分裂,我使用了“合并”选项,它会“忽略”实际条目,并用单个值的排名替换它们。如果相同的值在不同的子集中具有不同的排名,则这样做很危险。
Re: 分组图形的X轴宽度可以单独设置吗?有两个选项:
@hogi写道:
此外,无论是分割颜色还是年龄轴:
最好忘记第二个 - 并使用第一个:

Graph Builder(
Transform Column( "N_M", Formula( If( :sex == "M", :N Rows ) ) ),
Transform Column( "N_F", Formula( If( :sex == "F", :N Rows ) ) ),
Variables( X( :height F ), X( :height M ), Y( :age ), Color( :N_F ), Color( :N_M ) ),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y, Color( 1 ), Legend( 1 ) ) ),
Elements( Position( 2, 1 ), Bar( X, Y, Color( 2 ), Legend( 2 ) ) ),
)
Re: 分组图形的X轴宽度可以单独设置吗?dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
d1=dt << Summary(
Group( :age, :sex ),
Sum( :height ),
statistics column name format( "column" )
);
New Column( "height M", Formula( If( :sex == "M", :height ) ));
New Column( "height F", Formula( If( :sex == "F", :height ) ));
p2=d1<< Graph Builder(
Transform Column( "age_F", Nominal, Formula( If( :sex == "F", :age ) ) ),
Transform Column( "age_M", Nominal, Formula( If( :sex == "M", :age ) ) ),
Size( 433, 323 ),
Show Control Panel( 0 ),
Summary Statistic( "Median" ),
Graph Spacing( 4 ),
Variables(
X( :height F ),
X( :height M ),
Y( :age_M, Combine( "Merged" ) ),
Y( :age_F, Position( 1 ), Combine( "Merged" ) ),
Color( :N Rows )
),
Relative Sizes( "X", [360 237] ),
Elements( Position( 1, 1 ), Bar( X, Y( 2 )) ),
Elements( Position( 2, 1 ), Bar( X, Y( 1 ) ) ),
SendToReport(
Dispatch( {}, {:height F}, ScaleBox, {Max( 800 ), Inc( 100 ), Minor Ticks( 0 )} )
));
rpt = p2 << Report;
frames = rpt << XPath( "//FrameBox" );
For( i = 1, i <= N Items( frames ), i++,
frames[i] << Set Graphlet(
Picture(
try(Close(d2,nosave));
current data table(dt);
d2=dt<
<SUBSET></SUBSET>
Re: 分组图形的X轴宽度可以单独设置吗?您更喜欢通过年龄来采取这种方法吗?
然后也许添加检查以确保两个子集包含完全相同的年龄组。
Re: 分组图形的X轴宽度可以单独设置吗?这是AI给的,能跑起来,但是我还是不知道怎么获取我点击的图形的列号位置。
专家,您能给我一个代码吗?非常感谢!
Re: 分组图形的X轴宽度可以单独设置吗?Caption(Char(dt<
<GET selected="" rows=""></GET>