被图形生成器难倒客户想要构建一个图表,其中有一个堆积条形图和条形上方的点。我已经使用 Big Class 模拟了一个示例(请参阅下面的脚本)。我可以通过在性别中嵌套年龄并在颜色角色中包含年龄来接近她的需求,但无法获得不同颜色或图案的堆叠条。第二个图形在叠加角色中具有年龄,但点不在条形上方 - 客户非常喜欢条形图上按年龄划分的颜色阴影以及堆叠 Y 变量的不同颜色。所以必要的元素是:
- 点以上的酒吧
- 能够在栏中查看堆叠的 Y 变量
- 表示年龄的能力
客户图比我的示例更复杂,因为它是按 Y 和 X 变量分组的网格。
Names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// New formula column: height+weight
dt << New Column( "height+weight",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :height + :weight )
);
dt << Graph Builder(
Size( 822, 623 ),
Variables(
X( :sex ),
X( :age, Position( 1 ) ),
Y( :height ),
Y( :weight, Position( 1 ) ),
Y( :"height+weight"n, Position( 1 ) ),
Color( :age )
),
Elements(
Points( X( 1 ), X( 2 ), Y( 3 ), Legend( 5 ) ),
Bar( X( 1 ), X( 2 ), Y( 1 ), Y( 2 ), Legend( 6 ), Bar Style( "Stacked" ) )
)
);
dt << Graph Builder(
Size( 570, 619 ),
Variables(
X( :sex ),
Y( :height ),
Y( :weight, Position( 1 ) ),
Y( :"height+weight"n, Position( 1 ) ),
Overlay( :age )
),
Elements(
Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Bar Style( "Stacked" ) ),
Points( X, Y( 3 ), Legend( 5 ) )
)
);
回复:被图形生成器难住了试试这个:将 y 变量添加到 y 轴两次。 一次作为一个栏,然后右键单击并添加点。 然后是高度,或者你在 Y 上的任何变量是条形图,还有点。 如果点在条形上方,他们将能够看到它们。
我用这个数据做到了:

这对他们想要的东西有用吗?
回复:被图形生成器难住了这些点是与图中堆叠的不同的 Y 变量,所以我认为它不会起作用。我确实玩过这个想法,但它似乎并没有奏效。
回复:被图形生成器难住了你能把不同的 Y 变量放在 Y2 轴上让它工作吗? 同时还将其添加到叠加或颜色角色中?
回复:被图形生成器难住了点仍然不会在条形上方 - 因为由分类变量覆盖将分隔条形而不是点。
回复:被图形生成器难住了在我看来,客户想要对颜色做太多事情:每个条形中堆叠元素的颜色不同,同时还有按年龄连续的颜色渐变。 我们只是不这样做。
也许鼓励客户找到一种不同的方式来表示年龄或堆叠叠加。 颜色不能同时用于两者。
回复:被图形生成器难住了我认为问题不一定是颜色;下面是一个图表,其中颜色已用于类别,以及 :weight(颜色或按列标记)的连续渐变。 虽然不确定这是想要的。

回复:图形生成器难倒了我和 Brady 通了电话,讨论了这个问题。我们提出了几个需要写成剧本的方案。我们会把最终方案告诉你。
回复:被图表生成器难住了如果使用Y2轴呢?
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables(
X( :sex ),
Y( :"height+weight"n, Side( "Right" ) ),
Y( :height, Position( 1 ) ),
Overlay( :age )
),
Elements(
Bar( X, Y( 2 ), Legend( 9 ), Bar Style( "Stacked" ) ),
Points( X, Y( 1 ), Legend( 8 ) )
),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {9, [6, 7, 8, 9, 10, 11], 8, [0, 1, 2, 3, 4, 5]} )}
)
)
)
