图形生成器不会自动缩放你好,
我正在从仪表板启动图形生成器和数据过滤器。 该图是 x 轴上的日期和 y 轴上的计数。 当我过滤日期时,日期范围外的数据从图表中消失,但图表不会自动缩放 x 轴以匹配过滤范围内的日期(相反,x 轴日期范围与过滤之前相同日期范围)。
我知道我可以打开数据表,然后转到列属性,然后转到轴,然后删除最小值和最大值,然后它就可以工作了,但我需要自动缩放。
图形生成器脚本如下所示:
SPC = Open("C:\blahblahblah.csv",不可见);
column(SPC,"blah")<<数据类型(数值)<<建模类型(连续)<<格式(最佳,1);
列(SPC,“blah2”)<<数据类型(数字)<<建模类型(连续)<<格式(最佳,1);
plot_box=vlistbox(
SPC << 图形生成器(
尺寸( 1372, 867 ),
显示控制面板(0),
自动重新计算( 1 ),
自动拉伸(0),
变量( X( :Date time ran ), Y( :blah ), Y( :blah2 ), Overlay( :blah3 ) ),
元素(
位置( 1, 1 ),
点(X,Y,图例(1),抖动(1)),
),
元素(
位置( 1, 2 ),
点(X,Y,图例(4),抖动(1)),
),
发送报告(
派遣(
{},
“日期时间运行”,
比例尺,
{间隔(“天”),
公司( 3 ),小刻度线( 1 ),
(然后是一堆参考线)
...
有人可以告诉我吗?
谢谢.
回复:图形生成器不会自动缩放嗨,我发现 Graph Builder 会保留我想要的 X 轴日期设置并允许在过滤时使用这些设置重新缩放的一种方法是将日期更改为“序数”数据类型
回复:图形生成器不会自动缩放我在 JMP 14 中看到类似的重新缩放行为,使用 x 轴上的参考线。 换句话说,JMP 似乎试图维护脚本或参考线。下面是通过 JSL 指定参考线的示例。
Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ), Min( 3092688000 ), Max( 3284668800 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 ),
Add Ref Line( Informat("06Mar2003", "ddmonyyyy"), "Solid", "Gray", "", 1 ),
Add Ref Line( Informat("16Jul2006", "ddmonyyyy"), "Solid", "Black", "", 1 )}
)如果您发布了如何添加参考线的模型,我可以显示一个脚本来添加一个按钮框以强制重新缩放。 我无法对其进行测试,因为我没有 JMP 11,但我认为它会起作用。
回复:图形生成器不会自动缩放感谢你的回复。
奇怪的是,当我执行锁定比例和解锁比例时,日期不会针对我的参考线之外的日期范围进行缩放(如果我尝试选择不包含任何参考线的日期范围,则日期(x 轴)不会不缩放,但排除该范围之外的数据;如果我选择参考线分组内的日期范围,则日期(x 轴)将缩放)。 我有 JMP 11;也许这是这个版本中的错误? 或者也许我不应该在我的参考行中编码? 我不知道如何沿 x 轴绘制参考线......
回复:图形生成器不会自动缩放我在 GraphBuilder 上看到了相同的行为。我注意到了这个选项锁秤在图形生成器上。 但是,如果我在创建 GraphBuilder 时指定 Lock Scales(0),x 轴仍然不会重新缩放。如果在创建 GraphBuilder 之后你打开 Lock Scales 并将其关闭,轴将缩放,但不会有任何自定义轴格式。 下面的示例使用 yyyyQq。 下面的脚本将在 JMP 12、13 和 14 中运行。
如果您有 JMP 14,请删除第 52 行中的 /* 并运行脚本。在 JMP 14 中,有数据过滤器处理程序,这是一个在过滤器更改时运行的脚本。 所以如果你有一个特殊的轴格式,你可以在处理程序中指定它。
GraphBuilder 调用函数中的 Lock Scales(0) 似乎没有按描述工作。 但是启用和禁用似乎有效。
Names Default to Here(1);
dt = Open("$sample_data/Australian Tourism.jmp");
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Show Legend( 0 ),
Lock Scales(0),
Variables(
X( :Date ),
Y( :Name( "Revenue ($'000)" ) ),
Y( :Name( "Bed occupancy rate (%)" ) ),
Y( :Name( "Average length of stay (days)" ) )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 4 ) ),
Smoother( X, Y, Legend( 3 ) )
),
Elements(
Position( 1, 2 ),
Points( X, Y, Legend( 1 ) ),
Smoother( X, Y, Legend( 2 ) )
),
Elements(
Position( 1, 3 ),
Points( X, Y, Legend( 6 ) ),
Smoother( X, Y, Legend( 5 ) )
),
SendToReport(
Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ), Min( 2953282344.82759 ), Max( 3408220800 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Tourism Trends" )} )
)
);
filter = gb << Local Data Filter(
Add Filter(
columns( :Year )
)
);
gb << Lock Scales(1);
wait(0);
gb << Lock Scales(0);
/*
f = function({a},
print(a);
gb << Lock Scales(1);
wait(0);
gb << Lock Scales(0);
gb << Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 )}
);
);
rs = filter << Make Filter Change Handler( f );