图形生成器:使用 JSL 删除空子图你好,
我正在使用 JSL 生成图形生成器图。这些图是针对一个或多个变量绘制的。问题是,有时,图形生成器会生成没有值的空图。有没有办法删除那些空的子图?为了更好地理解这个问题,我附上了一个例子。在示例中,爱丽丝、大卫等。有空地块。这些是我试图使用 JSL 脚本删除的。
我正在考虑使用 Empty() OR Is Missing() 函数来检查特定单元格是否为空,不要绘制它。
我的问题是有没有办法选择该特定单元格并将其从图中删除?
感谢您 !

自动化和脚本编写基础数据分析和建模回复:图形生成器:使用 JSL 删除空子图在表格级别,您可以尝试选择空单元格并将它们设置为隐藏和排除
如果(缺少()==1...
回复:图形生成器:使用 JSL 删除空子图如果您知道哪些值将为空,则可以将Where语句添加到图形生成器消息中以过滤掉这些值。或者您可以添加隐藏的本地数据过滤器来隐藏那些
回复:图形生成器:使用 JSL 删除空子图我会使用本地数据过滤器来完成此操作。您可以按如下方式编写此特定示例的脚本:
Names Default To Here( 1 );
dt = Data Table( "Big Class" );
thenames = dt:name[(dt << Get Rows Where( Is Missing( :height ) ))];
Graph Builder(
Size( 857, 534 ),
Show Control Panel( 0 ),
Variables( Y( :height ), Group X( :name ) ),
Elements( Histogram( Y, Legend( 4 ) ) ),
Local Data Filter(
Inverse( 1 ),
Add Filter(
columns( :name ),
Where( :name == thenames ),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
)
);
使用图形生成器中的菜单也很容易完成。

回复:图形生成器:使用 JSL 删除空子图数字数据过滤器具有“选择缺失”选项,可让您进行过滤而无需转换为名称。这还将显示 Graph Builder 中的过滤器 where-clause,这与@jthi直接向 Graph Builder 启动添加Where-子句的建议非常相似。过滤器的主要优点是您可以来回切换。
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Graph Builder(
Size( 857, 534 ),
Show Control Panel( 0 ),
Variables( Y( :height ), Group X( :name ) ),
Elements( Histogram( Y, Legend( 4 ) ) ),
Local Data Filter(
Inverse( 1 ),
Add Filter( columns( :height ), Select Missing( :height ) )
)
);
回复:图形生成器:使用 JSL 删除空子图Inverse(1) 和 Select Missing 的问题:
逆(1)作用于数据过滤器的整个选择,而不仅仅是特定的项目。
这意味着:无法将此方法与其他过滤器结合起来。
例如无法选择:
- (缺失高度值)的倒数
- 性别 = “M”
也许,在 Jmp 的未来版本(> 18)中,将会有一个选项“不”来“反转”数据过滤器的各个部分:
数据过滤器,新选项:“不”
回复:图形生成器:使用 JSL 删除空子图该功能已经存在。
在本地数据过滤器中,不要使用“AND”,而要使用“OR”。
在这种情况下,我缺少身高数据,并且有一列指示缺少身高的指标。
在过滤器中我可以这样做:其中((性别 = F)或(身高缺失指标 = 1))

回复:图形生成器:使用 JSL 删除空子图你好@Byron_JMP抱歉,该解决方案似乎不适合:
显示所有满足以下条件的数据点:
1)非缺失数据 -> (缺失高度值)的倒数
和
2)性别=“M”
也许周围有一个“逆”......
可以为这种特殊情况生成一个合适的数据过滤器——每个拥有集合运算逻辑博士学位的用户都会喜欢它。
为了获得多功能、流畅且简单的用户界面,我迫切等待带有“不”选项的 Jmp 版本 - 这将允许:

回复:图形生成器:使用 JSL 删除空子图您可以随时反转反向选择。但我同意您的请求。

回复:图形生成器:使用 JSL 删除空子图使解决方案发挥作用的关键是添加一个具有以下公式的列:缺少(:列名)
这会在公式列中返回 0 或 1。0 = 不缺失。
指示列是你的朋友。