图形生成器不会自动缩放你好,
我正在从仪表板启动图形生成器和数据过滤器。 该图的 x 轴为日期,y 轴为计数。 当我过滤日期时,日期范围之外的数据将从图表中消失,但图表不会自动缩放 x 轴以匹配过滤范围内的日期(相反,x 轴日期范围与过滤之前相同)日期范围)。
我知道我可以打开数据表,然后转到列属性,然后转到轴,然后删除最小值和最大值,然后它就可以工作,但我需要自动缩放。
图形生成器脚本如下所示:
SPC = 打开("C:\blahblahblah.csv",不可见);
列(SPC,“blah”)<<数据类型(数字)<<建模类型(连续)<<格式(最佳,1);
列(SPC,“blah2”)<<数据类型(数字)<<建模类型(连续)<<格式(最佳,1);
绘图框=vlistbox(
SPC << 图形生成器(
尺寸(1372、867)、
显示控制面板( 0 ),
自动重新计算( 1 ),
自动拉伸( 0 ),
变量( X( :运行日期时间 ), Y( :blah ), Y( :blah2 ), 覆盖( :blah3 ) ),
元素(
位置( 1, 1 ),
点( X, Y, 图例( 1 ), 抖动( 1 ) ),
),
元素(
位置( 1, 2 ),
点( X, Y, 图例( 4 ), 抖动( 1 ) ),
),
发送至报告(
派遣(
{},
“日期时间运行”,
秤盒,
{间隔(“日”),
公司( 3 ), 次要刻度( 1 ),
(然后是一堆参考线)
...
有人可以建议我吗?
谢谢。
回复:图形生成器不会自动缩放您好,我发现图形生成器保留我想要的 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 上。 但是,如果我在创建 GraphBuilder 时指定 Lock Scales(0),x 轴仍然不会重新缩放。如果在创建 GraphBuilder 之后您打开“锁定比例”并将其关闭,轴将缩放,但不会有任何自定义轴格式。 下面的示例使用 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 );