为什么 JMP Bivariate 不能很好地显示数据点???我有个问题。为什么 JMP Bivaruate 不像叠加图那样区分数据? 在叠加图中,少量的数据点总是出现在前面。这样您就可以清楚、区分地看到不同图例的所有数据点。 但是 Bivariate 很奇怪,因为少量的数据点总是隐藏在下面。
但另一方面,叠加图不提供像双变量那样的选项(例如许多不同的拟合线)。 JMP 太烦人了,缺少 JMP 创建者部分的显而易见性。
回复:为什么 JMP Bivariate 不能很好地显示数据点???很公平, @ram_asra_gmail_ ! 如果我能想到其他任何事情,我一定会告诉您。
顺便说一句,只是为了澄清在其他地方提出的一个观点(因为我想你可能会感兴趣)在 Fit Y by X Bivariate 中点的分层不仅仅是随机的,而是从左到右绘制的。如果勾勒出点的轮廓(右键单击图形 > 标记绘图模式 > 轮廓),然后将它们放大(右键单击图形 > 标记大小 > 其他 > 15+),则最容易看到这一点:

@朱利安
回复:为什么 JMP Bivariate 不能很好地显示数据点???感谢朱利安的长回复。但不幸的是,我也知道所有这些技巧,但它不会奏效。 没关系。
回复:为什么 JMP Bivariate 不能很好地显示数据点???你好@ram_asra_gmail_ ,
我想我现在明白你在描述什么,但让我重申一下以确保。 叠加图提供如下结果:
Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
Overlay Plot( X( :NPN2 ), Y( :NPN1 ), Grouping( :SITE ), Overlay Groups, :NPN1( Connect Color( 40 ), Overlay Marker( 8 ) ) );

您更喜欢哪个,因为每个组(示例中的站点)的标记存在于彼此堆叠的层中。 换句话说,所有 Site 5 标记都将绘制在 Site 4 标记之上,而 Site 4 标记将全部绘制在 Site 3 标记之上,等等。如您所见,Graph Builder 执行相同操作:
Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
Graph Builder( Show Control Panel( 0 ),
Variables( X( :NPN2 ), Y( :NPN1 ), Overlay( :SITE ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);

但是,由于我稍后会澄清的原因,Fit Y by X 的 Bivariate 不会这样做:
Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
Bivariate( Y( :NPN1 ), X( :NPN2 ), SendToReport( Dispatch( {}, "Bivar Plot", FrameBox, {Row Legend( SITE )} ) ) );

我当然可以看到您可能更喜欢 Overlay Plot 和 Graph Builder 正在做的事情! 让我试着解释一下为什么这些平台不同,然后提供一些我希望能有所帮助的建议。
这些平台之所以不同,是因为 Overlay Plot 和 Graph Builder 是专门为处理两个以上的变量而构建的,它们根据叠加变量在图层中绘制标记。 如果您右键单击 > 自定义任何绘图,您可以自己看到这一点。 Graph Builder 和 Overlay Plot 将如下所示:
Fit Y by X(双变量)将如下所示:
注意到 Graph Builder / Overlap Plot 中的五个标记层(每个站点一个)? 这些图层控制绘制顺序,从而控制重叠顺序。 请注意,只有一个用于按 X 拟合 Y 的标记层,这反过来意味着点在绘制时不能根据另一个变量进行分层。 当您像在用 X 拟合 Y(右键单击 > 行图例)中那样创建行图例时,JMP 提供了一个图例,允许您为点着色或标记,但这不会从根本上改变平台的绘图行为。 毕竟,Fit Y by X 是为一个 y 和一个 x 设计的,顾名思义,这意味着它不是用来分层绘制标记的,即使你有一个图例来识别它们。 所以我很遗憾地说,没有快速修复(我知道)来强制 Fit Y by X 双变量图在 Graph Builder 和 Overlay Plot 等层中绘制点。
我答应了一些建议。 我假设您正在使用 Fit Y by X 进行分析,所以我的第一个建议是在 Fit Y by X 中执行您需要的任何分析工作,然后使用 Graph Builder 制作您与他人共享的最终视觉效果. 这就是我大部分时间的工作方式——尽管我很喜欢 Fit Y by X(和其他平台),但我对在 Graph Builder 中制作的图表有更大的创造性控制,所以这是我的首选制作图表的工具,我打算分享。 这听起来不像是一种推动使用 JMP 不同部分的解决方案,但有时这确实是最好的解决方案!
另一种选择是在启动 Fit Y by X 时利用 By Variable,例如:
Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
Bivariate( Y( :NPN1 ), X( :NPN2 ), By( :SITE ) );
不可否认,这不是一回事,因为这会给你单独的图,以及按组划分的单独拟合模型。 但是,由于有大量重叠点,而且听起来确实需要查看特定点,也许这是一种选择?
最后,如果有必要将所有行放在一起进行分析,但您需要分别查看每个组的点,则本地数据过滤器(仅选中“显示”)可能会成功。
Open( "$SAMPLE_DATA\Semiconductor Capability.jmp" );
Bivariate(
Y( :NPN1 ),
X( :NPN2 ),
Automatic Recalc( 1 ),
Fit Line( {Line Color( {212, 73, 88} )} ),
Local Data Filter(
Mode( Include( 0 ) ),
Add Filter(
columns( :SITE ),
Where( :SITE == 5 ),
Display( :SITE, Size( 181, 85 ), List Display )
)
)
);
这允许您切换分组变量的级别以查看所有未被遮挡的点,但由于未选中“包含”,因此本地数据过滤器不会影响哪些行可用于分析。

我希望这里的内容能有所帮助,也希望它能稍微清楚地说明为什么 jmp 的行为方式如此。
@朱利安
回复:为什么 JMP Bivariate 不能很好地显示数据点???可能是如果您找到解决方案,也请添加图片。回复:为什么 JMP Bivariate 不能很好地显示数据点???不幸的是,无法上传图片。但下面是jsl。如果你运行,它会显示 bivariat 和 Ovlay 之间的明显区别(& 覆盖在 grph 构建器中)。它将显示不同组的数据如何在双变量中随机混合,而不是在叠加层中定义明确的水平。
谢谢
内存
open("C:\Program Files\SAS\JMP\14\Samples\Data\Semiconductor Capability.jmp");
Graph Builder(
Size( 450, 306 ),
Show Control Panel( 0 ),
Variables( X( :NPN2 ), Y( :NPN1 ), Overlay( :SITE ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
Bivariate(
Y( :NPN1 ),
X( :NPN2 ),
Automatic Recalc( 1 ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Row Legend(
SITE,
Color( 1 ),
Color Theme(
{"My_Color", 8193, {{53, 171, 50}, {255, 0, 0}, {33, 53, 237},
{225, 225, 0}, {160, 66, 255}, {255, 128, 0}, {150, 128, 0},
{166, 166, 166}}}
),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);
Overlay Plot(
X( :NPN2 ),
Y( :NPN1 ),
Grouping( :SITE ),
Overlay Groups,
:NPN1( Connect Color( 40 ), Overlay Marker( 8 ) )
);回复:为什么 JMP Bivariate 不能很好地显示数据点???你好@ram_asra_gmail_ ,
我相信我们可以找到一种方法来获得您正在寻找的东西! 你能张贴一张你在双变量中得到的你不喜欢的图表类型的图像吗?以及另一个你喜欢的重叠图表中的相同图表? 我很难想象您所描述的行为差异。
在 jmp 中总有一种方法可以得到您想要的东西——很乐意帮助您找到它。
@朱利安