如何在Matlab的色带图中使颜色表示幅度?

时间:2011-12-17 12:41:50

标签: matlab plot ribbon

Matlab的ribbon函数以彩色条带的形式绘制矩阵,其中色带数量和色带上的点映射到矩阵的行和列索引,色带高度映射到元素值。每个色带都有自己的颜色。

我正在寻找一个能够创建这样的图形的函数,但是颜色指示色带的高度,即矩阵中的值,类似于surfwaterfall所做的。 (去除黑色轮廓线也很整洁。)我怎样才能做到这一点?

matlab ribbons

3 个答案:

答案 0 :(得分:2)

ribboncoloredz.m就是这么做的。

[x,y] = meshgrid(-3:.5:3,-3:.1:3);
z = peaks(x,y);
ribboncoloredZ(y,z);
xlabel('X');ylabel('Y');zlabel('Z');

example

答案 1 :(得分:0)

使用waterfall

可以实现相同的效果
h = waterfall(data);
set( h, 'LineWidth', 4 );
hidden off;

enter image description here

答案 2 :(得分:0)

同样的问题,我的解决方案是从内置的函数中创建自己的函数:

打开" ribbon.m"在编辑器中:编辑ribbon.m

将其保存在您想要的其他名称下,例如ribbonColAmpl.m

第46行删除曲面参数" n * cc,"之前的父母'。这是控制连接曲面的固定颜色的原因。

保存文件并使用此新功能而不是原始功能:Voila!