- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我用 NaN 填充矩阵中未使用的元素,并且我想在使用 imagesc
显示数据时为这些具有 NaN 值的元素分配对比色。
下面是一个可能的解决方案的链接,但我不太明白。
http://www.mathworks.com/matlabcentral/newsreader/view_thread/19985
最佳答案
NaN 值从坐标区颜色图中获取第一种颜色,默认情况下对应于最小值(NaN 除外)。您可以使用 CAXIS 更改最小值设置轴颜色限制的颜色功能。要为 NaN 值分配对比色,您可以为 NaN 值添加特殊颜色作为第一种颜色(1x3 向量)。
我以你的例子做了一个函数(有一些注释):
function [h hcb] = imagescwithnan(a,cm,nanclr)
% IMAGESC with NaNs assigning a specific color to NaNs
%# find minimum and maximum
amin=min(a(:));
amax=max(a(:));
%# size of colormap
n = size(cm,1);
%# color step
dmap=(amax-amin)/n;
%# standard imagesc
him = imagesc(a);
%# add nan color to colormap
colormap([nanclr; cm]);
%# changing color limits
caxis([amin-dmap amax]);
%# place a colorbar
hcb = colorbar;
%# change Y limit for colorbar to avoid showing NaN color
ylim(hcb,[amin amax])
if nargout > 0
h = him;
end
这里的 caxis 语句不是将颜色图的第一种颜色分配给最小值 amin
,而是分配给 amin-dmap
。因此,第一种颜色专门分配给 NaN。
试试这个函数:
a=peaks;
a(a < 0.5) = nan;
imagescwithnan(a,hot,[0 1 1]) %# [0 1 1] is cyan
如果您在函数中注释 ylim 语句(可以使用附加参数控制),则此 NaN 颜色将出现在颜色图上。
关于matlab - imagesc 中 NaN 的对比色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481324/
我是 R 的新手,之前使用过 MATLAB。我正在将 MATLAB 脚本转换为在 R 下运行。到目前为止一切顺利,除了现在绘制输出图。 MATLAB 这是使用 imagesc 绘制图形的 matlab
我使用的是最新版本的 matlab。我正在使用带有 jet 颜色图的 imagesc 命令绘制矩阵。矩阵的背景值为零,在图像中绘制为颜色条上的最低颜色,即深蓝色。有没有办法使背景零值绘制为白色? 谢谢
我正在将一个应用程序从 matlab 重写为 C++。问题出在这一行 imagesc(proj_data.log_P0,m+s*[-3,3]) proj_data.log_P0 是一些具有浮点值的矩阵
我在 MatLab 中使用 imagesc 绘制声场。我现在想在图像的某个位置覆盖一个半透明的填充矩形。理想情况下,我希望能够执行以下操作: imagesc(g,g,field); hold on p
当我在使用 imagesc (Matlab R2012a) 创建的图像上绘制透明度 < 1 的补丁时,我得到的东西看起来像很多“刻度标签”,或者图像上沿轴的数字。以下代码重现了该问题: imagesc
我想用imagesc裁剪和显示黑白(灰度?)图像。但是,它一直以 rgb 格式显示图像,使它看起来像是来自红外相机!有什么保留原始颜色的技巧吗? 最佳答案 您需要更改颜色图。运行后 imagesc使用
我正在尝试比较我通过 matlab imagesc 创建的绘图,因此需要颜色限制与较高的颜色限制相同。 我尝试挖掘,但找不到简单的方法来做到这一点,或者至少在不打开颜色图编辑器的情况下找出限制。 非常
我正在使用 python 或 octave 中的 matplotlib 中的函数 imagesc 将矩阵的缩放版本显示为彩色图像。 我正在寻找 Java 中的等效项,但没有运气。 谢谢 最佳答案 看看
您好,我正在处理一个包含 448*448 个元素的真实(有符号)数据矩阵,并希望在 C 中将其显示为灰度图像,就像我在 MATLAB 中使用 imagesc 所做的那样。谁能告诉我用 C 语言从矩阵显
我需要 imagesc 的 C 版本(不是 C++) MATLAB 中的函数。我正在将 MATLAB 程序转换为 C(这是要求)。唯一需要实现的是 imagesc 功能。我不一定需要在窗口中绘制或显示
我使用以下代码行来绘制图像: for t=1:subplotCol subplot(subplotRow,subplotCol,t) imagesc([1 100],[1 100],c
当使用 imagesc 可视化包含 NaN 值的数据时,Matlab 将它们视为最小值(在灰色中将它们涂成黑色、墨蓝色等)。 jet 颜色图既不包含黑色也不包含白色。是否可以将 nan 值显示为黑色/
我一直在尝试使用 imagesc 函数显示纯黑色网格线,这样每个像素周围都有一个黑色边界。我尝试了几种方法,但似乎无论如何,线条总是穿过像素。例如,对于 imagesc(randn(21,21)),我
我通过调用以下命令在 Matlab 中创建二维图:imagesc(vector1, vector2, mat_weights)。然后,我运行 colorbar 命令。 我现在有一个平滑的 2D 图,但
我用 NaN 填充矩阵中未使用的元素,并且我想在使用 imagesc 显示数据时为这些具有 NaN 值的元素分配对比色。 下面是一个可能的解决方案的链接,但我不太明白。 http://www.math
我有这个 matlab 代码来显示 super 频谱图后的图像对象(stft,耦合 plca ...) t = z2 *stft_options.hop/stft_options.sr; f =
这是我尝试过的。 -- Winston 包:在尝试安装或使用时会出现许多错误,提示“不推荐使用语法”。我试过做 Pkg.update() 但这并没有消除我的错误。尽管存在错误,但 Winston 将使
这个问题在这里已经有了答案: Non-uniform axis of imagesc() in Matlab (3 个答案) 关闭 5 年前。 好的,这开始变得非常令人沮丧。 我有以下代码:( sc
我正在使用 imagesc 获取完整图像。但是,我只能设法显示它,然后我必须手动保存它,我找不到使用 imwrite 或 imsave 从脚本中保存图像的方法。有可能吗? 代码: image='C:\
下面的矩阵是从 imagesc(rand(10,10)) 派生的,作为一个纯粹的例子。 我想知道在 MATLAB 中是否有办法为某些元素提供粗体黑色边框?我在 MS paint 中做了一个糟糕的例子只
我是一名优秀的程序员,十分优秀!