圖形生成器不會自動縮放你好,
我正在從儀表板啟動圖形生成器和數據過濾器。 該圖是 x 軸上的日期和 y 軸上的計數。 當我過濾日期時,日期範圍之外的數據會從圖表中消失,但圖表不會自動縮放 x 軸以匹配過濾範圍內的日期(相反,x 軸日期範圍與過濾之前相同)日期範圍)。
我知道我可以打開數據表,然後轉到列屬性,然後是軸,然後刪除最小值和最大值,然後它就可以工作了,但是我需要自動縮放。
圖形構建器腳本如下所示:
SPC = Open("C:\blahblahblah.csv",invisible);
列(SPC,“blah”)<<數據類型(數字)<<建模類型(連續)<<格式(最佳,1);
列(SPC,“blah2”)<<數據類型(數字)<<建模類型(連續)<<格式(最佳,1);
plot_box=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),
(然後是一堆參考線)
...
有人可以給我建議嗎?
謝謝.
回复:圖形生成器不會自動縮放嗨,我發現 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 上。 但是,如果我在創建 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 );