问题标签 [matlab-figure]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
13313 浏览

image - Matlab`imagesc`:如何以平滑的颜色显示?

我有一个矩阵,我用imagesc. 现在我被要求制作一个“插值”版本(即显示更平滑的颜色)。

虽然我可以计算一个更大的插值矩阵,但我似乎记得有一个命令可以在两种这样的显示模式之间切换,要么是风格的小命令,要么是axis equal一些属性 - 但我就是找不到它。

0 投票
2 回答
146 浏览

matlab - MATLAB(图像处理)

如何在循环中存储多个图像,例如:image_1,image_2. 哪里1,2不固定,它们取决于循环。

0 投票
3 回答
6710 浏览

matlab - MATLAB:颜色显示不正确?

我注意到 MATLAB 有时会错误地显示我的颜色。我不确定这是我这边的编程错误,还是 MATLAB 中的实际错误。在过去一年左右的时间里,我经常注意到这种行为。

这一次,我决定拍一张有问题的图的快照(在 Windows 7 64 位的 MATLAB 2011b 上拍摄):

                                   在此处输入图像描述

显示相关图像的代码如下:

在哪里:

  • matrix是类型uint32(尽管我也尝试过matrixdouble调用之前显式转换imshow
  • matrix介于0和之间的值900
  • cmap901条目
  • highest_index900

259inmatrix值的 RGB 条目[1, 0, 0.1]在上图中和颜色图数组cmap中,即cmap(300, :) = [1, 0, 0.1](请注意,矩阵值259获取颜色图中的索引300,因为颜色图的第一个条目是矩阵值0)。

问题:

为什么会这样?这是一个错误吗?有什么我做错了吗?

更新1:

  1. 我尝试切换CDataMappingdirector scaled,但没有任何区别。
  2. 我也尝试过使用imagesc而不是imshow,但它没有任何区别。
  3. 如果我先将图像转换为 RGB(即将 转换indexed imagetrue color图像;请参阅此处了解更多信息),即使用i_rgb = ind2rgb(i_indexed, cmap),错误消失并且图像正确显示。

    不幸的是,如果我显示true color图像,数据提示不再显示原始矩阵中每种颜色的索引,而是仅显示 RGB 矢量(即这是合乎逻辑的,因为 MATLAB 不再知道原始索引)。

更新 2:

这是一些示例代码:

上面的代码导致:

            在此处输入图像描述

0 投票
2 回答
7255 浏览

matlab - 在 MATLAB 中保存坐标区中的图像

当我单击应用按钮时,我在名为 newIM 的轴中生成了一张图片。现在,当我按下保存按钮时,我想将这张新图片保存为 jpg、gif、bmp 或任何文件。

这就是我所拥有的:

但这仅适用于 Test.bmp,不适用于 newIM 中的图片。

我怎样才能使这个变量?

0 投票
2 回答
1093 浏览

matlab - 在 MATLAB 中更改颜色图的颜色范围

如何在网格/冲浪图中将灰色颜色图的跨度从 0-255 更改为 100-255?我想知道这是否可以在不将数据转换为 uint8 的情况下完成。

我已经看到乔纳斯的这个答案

但我不知道如何将变量“colormap gray”分配给“oldColormap”

谢谢

0 投票
3 回答
37484 浏览

matlab - Matlab:如何将不同的颜色图/颜色条分配给同一图中的不同表面

我对 Matlab 还很陌生,有几个问题。我在同一个图中有两个表面和一个平面。我想为 b 使用不同的颜色图和颜色条,为 c 使用另一个颜色图和颜色条。s 是固定颜色,所以这不是问题。

让我试着解释一下我想要达到的目标:

cmap1=colormap(topobathy) --> cmap1 是 64x3 的两倍,如预期的那样

cmap2=颜色图(红白绿)

使用 cmap1 创建 cdata1(这是我无法弄清楚的第一部分,如何使用 cmap1 缩放 z 数据,默认情况下 CData 包含 z 值)

b=冲浪(x,y,z,cdata1)

使用z值的 b 的颜色条

c=pcolor(x,y,(z-z0)) - 我想使用 cmap2 这个。

使用 (z- z0 ) 值的 c 的颜色条

这是我到目前为止所拥有的以及我遇到的问题

此时,b 的颜色图设置为 redwhitegreen,b 的颜色条我无法获得具有自己的 clim 等的第二个颜色条。

我使用了此链接中解释的 freezeColors 和 cbfreeze:http: //blogs.mathworks.com/pick/2009/07/24/using-multiple-colormaps-in-a-single-figure/

但是一件事在搞砸另一件事时起作用(可能都是我的错)。我想学习如何在不使用外部 m 文件的情况下完全控制我的对象。

任何帮助表示赞赏。

0 投票
1 回答
6054 浏览

graph-theory - 使用 Matlab 的 dijkstra 算法

我正在使用 Matlab 做 dijkstra 算法。这是我的代码

问题是我如何获得最短路径“重置”的红色线条节点和边缘。例如我希望它是,[dist,path,pred] = graphshortestpath(DG,2,3)但图表仍然显示

0 投票
6 回答
57758 浏览

matlab - 如何在图形中添加 x 轴线?(matlab)

我想在 Matlab 图形中添加 0 处的 x 轴线,以便在将图形保存为 jpg 时比较我的数据以查看它是正数还是负数。做这个的最好方式是什么?我知道你可以使用line(),但它看起来很麻烦,因为你需要指定 x 和 y 范围。有没有更简单的方法?

0 投票
3 回答
1598 浏览

matlab - 我需要帮助 matlab 中的数值比较

我有一个称为目标(1X4000)的矩阵;第 1 到 2000 列包含双精度值 0,第 2001 到 4000 列包含双精度值 1

a)我想创建一个名为 targets_1 的矩阵,我想在其中检查值是否为 0,然后将条目设为 1,因此在一天结束时,我必须有一个矩阵,其值为 1 到 2000 列,值为 1,列 2001: 4000 值为零

b) 与上述情况相同,但这次我想检查值是否为 1,然后将条目设为 1,如果为零,则将条目设为零;在最后; 我的新矩阵 targets_2 包含值:第 1 到 2000 列,值为 0,第 2001:4000 列,值为 1

我知道如何使用 strcmp 函数对字符串进行此类检查,但问题是我的原始矩阵是双倍的,我不知道是否有这样的函数

setosaCmp = strcmp('setosa',物种);

这可以与双(数字)一起使用;任何帮助,将不胜感激

0 投票
1 回答
1663 浏览

matlab - MATLAB ResizeFcn 回调失败

我正在编辑一个用 MATLAB 编写的 GUI,并在 OpeningFcn 中有一行设置用于调整图形大小的回调。

为简单起见,回调粘贴在下面,并进行了很多编辑。

我的同事运行 Windows XP 和早期版本的 MATLAB。我运行 Windows 7 和 MATLAB 7.12.0.635。现在,当他调整人物大小时,他们总是会正确调整大小。当我运行相同的代码时,有时我会得到小于上述设置的最小宽度和高度限制的图形。我的同事说这是 Windows 7 中断问题。如果其他人有这个问题,我们找到了一个简单但不合逻辑的解决方法,我将在下面发布。

你可以看到这个函数调用自己时带有一个标志,如果变成无限循环则停止。现在我无法将窗口大小调整到最小值以下。有人对此行为有任何见解吗?