你好,
我有一个数据表,包括:
- 绝对日期时间
- 从第一个时间戳开始的持续时间(以秒为单位)
- 与每个日期时间关联的数据点
当我绘制数据点时,我经常将持续时间放在 X 轴上,然后将 X 轴裁剪/过滤到感兴趣的时间段。
但是,在图形构建器中裁剪 X 轴时,持续时间不再从“零”开始。 始终在图中的“零”时间开始持续时间的最简单方法是什么? 我想这样做,以便图表更清晰、更易于阅读。
如果可以在不修改底层数据表的情况下执行此操作,并且只需更改轴显示行为,那就太好了。 否则我假设我可能需要在持续时间列公式中引用图形窗口轴限制 - 但经过一些搜索后我不知道该怎么做。
在此先感谢您的帮助或建议!
我要提出的解决方案需要公式、全局数据过滤器(这会影响数据表)和一些脚本。 想法是使用公式列作为 X 轴,它将始终根据第一个 NON-excluded 行重新计算持续时间:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Date", Numeric, Continuous, Set Each Value(Today() + Row()));
dt << New Column("TimeSinceStart", Numeric, Continuous, Set Each Value(:Date - :Date[1]));
dt << New Column("TimeWithFormula",
Numeric,
"Continuous",
Format("Best", 12),
Formula(If(!Excluded(), :Date - Col Min(:Date, !Excluded()), .))
);
nw = New Window("",
H List Box(
dt << Data Filter(
Mode(Include(1)),
Add Filter(columns(:Date))
),
gb = dt << Graph Builder(
Size(535, 457),
Show Control Panel(0),
Variables(X(:TimeWithFormula), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Smoother(X, Y, Legend(4)))
)
)
);
还有其他方法可以做到这一点,但这应该是相当简单的选择