大家好:
这是我的第一篇文章。 我仍然是 JSL 的新手,几天来我一直在努力解决我的问题。 这是问题设置...
我有一个数据文件,每个星期五都需要对其进行分析。 该数据文件由一些实时捕获的值的日期/时间日志组成。 所以每个星期五,这个数据文件都有一个新的日期范围。 我写了一个脚本来在双变量图中绘制这些数据,其中 x 轴是日期/时间,y 轴是一些感兴趣的参数:
trendChart = Bivariate(
Y( :PARAMETER ),
X( :DATE ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "m/d/y", 10 ), Min( minDate ), Max( maxDate ),
Interval( "Day" ), Inc( 7 ), Minor Ticks( 6 ),
Label Row( Label Orientation( "Vertical" ) )}
),
Dispatch(
{},
"2",
ScaleBox,
{Max( myMaxValue ), Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 720, 360 ), Row Legend(
PROGRAM_NAME,
Color( 1 ),
Color Theme( "JMP Vibrant" ),
Marker( 1 ),
Marker Theme( "Hollow" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);我希望此图在 x 轴上自动缩放,以便最小点是数据文件中最旧的日期,最大点是数据文件中最年轻的日期。 我认为最好的方法是让 2 个变量取决于数据文件的实际内容,最小日期和最大日期我将这些定义为:
<FONT color="#FF0000">minDate</FONT> = col min(dt1, :DATE);
<FONT color="#FF0000">maxDate</FONT> = col max(dt1, :DATE);
在我的较大脚本中运行这些代码片段会生成一个空图(未显示数据)。 调试显示两者最小日期和最大日期是空白的,所以我不能正确定义这些变量。
我会很感激一些见解。
感谢您的帮助。
Col Min() 函数的结构是
x = Col Min( Column, By Column );
您在代码中指定的列
minDate = col min(dt1, :DATE);
maxDate = col max(dt1, :DATE);
似乎不要求 :Date 列查找最小值和最大值,而是查找名为“dt1”的列。我假设“dt1”实际上是指向您的数据表的指针。我相信你的代码应该是:
minDate = col min( :DATE);
maxDate = col max( :DATE);