你好,
我有一个带有两个不同比例的 Y 轴的图表。
酒吧风格是“并排”,但它们似乎聚集在一起。
我试图在图表上放置更少的样本,这样就会有更少的条形图,但这不起作用。
有什么想法可以让它们并排而不是杂乱地在一起吗?
此致


你好@helmon ,
感谢更新。 是否可以从数据库重组数据表? 我猜不会,但这可能是让现在的生活变得更加困难的部分原因。 当我从其他人那里获取数据时,我经常花更多时间将其从 Excel 源重组为 JMP 喜欢使用的数据。
无论如何,我按照您的描述使用 AirlineDelay.jmp 文件对此进行了测试。 我能够使用下面的脚本获得以下输出。

脚本非常短,我通过点击红色热按钮并查看脚本来了解大部分内容。 我必须研究一下如何以最有效的方式计算公式,但这并没有花太长时间。 您应该能够更改下面的脚本以获得所需的数据输出。
Names Default to here (1);
Data Table( "AirlineDelays" ) << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" )
);
Current Data Table() << Set Name("Stackeddt");
Data Table( "Stackeddt" ) << New Column("Distance", Numeric, "Continuous", Formula(Match( :Label, "Distance", :Data )));//this copies over only the distance data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Data Table( "Stackeddt" ) << New Column("Delay & Time", Numeric, "Continuous", Formula(Match( :Label, "Arrival Delay", :Data, "Elapsed Time", :Data )));//This copies over both the delay and time data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Graph Builder(
Size( 534, 448 ),
Show Control Panel( 0 ),
Variables(
X( :Airline ),
Y( :Distance, Side( "Right" ) ),
Y( :Name( "Delay & Time" ), Position( 1 ) ),
Overlay( :Label )
),
Elements( Bar( X, Y( 2 ), Legend( 4 ) ), Bar( X, Y( 1 ), Legend( 5 ) ) )
);希望这可以帮助!,
DS
</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-222061" slang="en-US" mode="NONE">回复:Graphbuilder:并排栏</LINGO-SUB><LINGO-BODY id="lingo-body-222061" slang="en-US" mode="NONE"><P>你好!</P>
<P>我使用的是14.1.0。<BR />我联系了支持团队 - 显然这不是一键修复。<BR />这是我得到的答案(我有 3 列,A、B 和 C (%))</P>
<P>---</P>
<P>单击表 -> 堆栈</P>
<P>选择 B (%)、A (%) 和 C (%),然后单击“堆叠列”</P>
<P>我将堆叠数据列命名为 Data Left,但这是可选的。</P>
<P> </P>
<P>接下来我们需要重新格式化新的数据集</P>
<P>在从堆栈打开的数据集中创建一个名为“Data Right”的新列</P>
<P>将数据左侧的值复制到数据右侧</P>
<P>现在,对于左轴,我们只想包含 A (%) 中的行,而右轴我们只想包含 B (%) 和 C (%)</P>
<P>为此,我选择“行”->“数据过滤器”</P>
<P>然后选择标签并单击添加</P>
<P>选择一个 (%)</P>
<P>单击数据右侧列并按删除 - 从而从数据右侧删除 A (%) 值,仅留下 B (%) 和 C (%)。</P>
<P>返回数据过滤器</P>
<P>这次选择B(%)和C(%)。</P>
<P>单击“数据左列”并按删除 - 从而删除 B (%) 和 C (%) 值并仅保留 A (%) 值。 </P>
<P> </P>
<P>最后创建图表</P>
<P>单击图形 -> 图形生成器</P>
<P>将“数据左侧”和“数据右侧”拖动到 Y 轴</P>
<P>将样本名称拖至 X 轴</P>
<P>将标签拖至叠加层</P>
<P>将点更改为条</P>
<P>右键单击 Y 轴并选择右移 -> 数据右移</P>
<P>---</P>
<P> </P>
<P>但这使得现在编写脚本变得有点困难(我正在尝试简化脚本,以便我的团队可以将其用于他们的数据库)。</P>
<P>我只能在新数据集出现时才能找到脚本,即:</P>
<P> </P>
<P> </P>
<PRE><CODE class=" language-jsl">Data Table( "Test for JMP" ) << Stack(
columns( :Name( "B (%)" ), :Name( "A (%)" ), :Name( "C (%)" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "Data Left" )
);
但是,当我执行其他步骤(添加列和数据过滤)时,我找不到相应的脚本。
我只从图形生成器中获取脚本 - 但这仅适用于图形(而不是您如何到达那里)。
你好@helmon ,
这是一个奇怪的输出。 您使用什么版本的 JMP? 这可能是过去的一个错误。 使用14.1.0,我似乎没有这个问题。 然而,您似乎也在尝试绘制许多不同的事物的图表,包括 X 组和 Y 组信息。 这可能就是原因。 你必须参加 X/Y 组吗? 您可以放入本地数据过滤器吗?
我尝试使用 TitanicPassenger.jmp 文件生成类似的输出,但除非我专门将条形图从“并排”更改为“嵌套”,否则它总是并排显示条形。
可以分享一下数据表吗? 您可以将其匿名化,这样就不会共享任何敏感信息。
如果您可以提供有关您正在绘制的数据类型(标称/连续)的更多背景信息,这可能会有所帮助。
希望这可以帮助!,
DS