大家好,
我有一个疑问。 如果我有一张如下表。 如果我在 X 轴上绘制时间并按类型对 X 轴进行分组。 它将在 X 轴上显示两个组的所有五个值,即使它们没有数据。 它不必要地使用图形空间。 一种方法是我可以将 X 轴(TIME)与列 TYPE 嵌套,但这仅在两列均为名义类型时才有效。 如果两列的类型不同,它们是一种方法吗?
谢谢
| 时间 | 类型 |
| 2018 年 10 月 1 日 | 坏的 |
| 2018 年 10 月 2 日 | 坏的 |
| 2018 年 10 月 3 日 | 坏的 |
| 2019 年 1 月 1 日 | 好的 |
| 2019 年 1 月 1 日 | 好的 |
JMP 平台按照 JMP 开发人员编写的脚本运行。 您可以更改愿望清单,也许将来它会改变,
我不知道如何让 GraphBuilder 做我认为你想要的事情,除非你重组你的数据表。 GraphBuilder不会嵌套不同的数据类型,并且X-Grouping使用相同的X尺度。因此,执行此操作的唯一方法是使每个组的(类型)时间(X 变量)成为其自己的列,并将它们并排拖动。下面是您的表布局和重组的拆分表的捕获:拆分:时间按:类型按:行分组并保留所有列。
Your specified table layout - Row # column addedYour specified table layout - Row # column added您指定的表格布局 - 添加了第 # 行列
Date Split by Type, Grouped by row #Date Split by Type, Grouped by row #日期按类型拆分,按行号分组
下面是使用分割表时间表创建的并行 GraphBuilder

这是脚本。
Graph Builder(
Variables( X( :BAD ), X( :GOOD ), Y( :y ) ),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 21 ) ),
Smoother( X, Y, Legend( 22 ) )
)
)
当然,您不需要重组,您可以通过转换创建新变量,每种类型一个新变量,然后将转换后的变量并排拖动到X轴

下面是保存的脚本。 如果有很多组,则拆分表将是最简单的
Graph Builder(
Size( 856, 534 ),
Show Control Panel( 0 ),
Variables(
X( Transform Column( "Bad[TIME]", Formula( If( :TYPE == "BAD", :TIME ) ) ) ),
X(
Transform Column(
"Good[TIME]",
Formula( If( :TYPE == "GOOD", :TIME ) )
)
),
Y( :y )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 17 ) ),
Smoother( X, Y, Legend( 18 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
SendToReport(
Dispatch( {}, "Bad[TIME]", ScaleBox, {Format( "m/d/y", 10 )} ),
Dispatch(
{},
"Good[TIME]",
ScaleBox,
{Format( "m/d/y", 10 ), Min( 3629059200 ), Max( 3629232000 ),
Interval( "Numeric" ), Inc( 17.28 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 17, Level Name( 0, "y Bad", Item ID( "y", 1 ) ) ),
Legend Model( 19, Level Name( 0, "y Good", Item ID( "y", 1 ) ) )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {17, [0], 18, [-1], 19, [1], 20, [-1]} ),
Position( {0, -1, 1, -1} )}
)
)
)使用 GraphBuilder 界面,右键单击时间列,然后选择公式并输入这个公式格式(:TIME, "月/日/年") 。现在,这将显示在列选择器中变换[时间] 。 将其拖至 X,然后拖动“类型”列,以便“时间”嵌套在“类型”内。