给定以下代码,如何使Inf值在散点图中不可见而不进行颜色处理?简单的方法来过滤散点图中的Infs
J = rand(20, 40, 5);
J(J>.6 & J<.4) = Inf;
% Plot a scatter matrix
shape = size(J);
[x,y,z] = meshgrid(1:shape(1), 1:shape(2), 1:shape(3));
scatter3(x(:), y(:), z(:), 4, J(:), 'fill');
给定以下代码,如何使Inf值在散点图中不可见而不进行颜色处理?简单的方法来过滤散点图中的Infs
J = rand(20, 40, 5);
J(J>.6 & J<.4) = Inf;
% Plot a scatter matrix
shape = size(J);
[x,y,z] = meshgrid(1:shape(1), 1:shape(2), 1:shape(3));
scatter3(x(:), y(:), z(:), 4, J(:), 'fill');
数据与MATLAB,你可以在你的情况下利用打印时不可见。由于您想将Infinte
的值设置为不可见,因此可以将所有这些值都转换为NaNs
,然后绘制它们。在这里,您可以借助逻辑索引来索引Inf
元素位置。因此,代码将是 -
J(isinf(J))=NaN
%// ... Plot J
一种方法可能是将高于某个阈值的值更改为NaN(或任何其他数字)。我相信NaN值不会出现在你的散点图中。你可以用你已经使用的相同代码来做到这一点。
有NaN
值
J(J>10^6) = NaN;
@divakar ups,太简单了。所以'NaN'永远不会被绘制。很高兴知道。 – embert 2014-09-01 12:00:21