Matlab的ribbon
函数会将矩阵以彩色条带的形式绘制出来,其中每个条带的数目和条带上的点对应于矩阵中的行和列索引,而条带高度则对应于元素值。每个条带都有自己的颜色。
我正在寻找一个能够创建类似图形的函数,但是其中颜色表示条带的高度,即矩阵中的值,类似于surf
和waterfall
的功能。(去除黑色轮廓线也很好)。如何实现这一点呢?
ribboncoloredz.m 可以轻松实现此操作。
[x,y] = meshgrid(-3:.5:3,-3:.1:3);
z = peaks(x,y);
ribboncoloredZ(y,z);
xlabel('X');ylabel('Y');zlabel('Z');
相同问题,我的解决方法是从内置函数创建自己的函数:
在编辑器中打开“ribbon.m”:编辑 ribbon.m
将其另存为另一个名称,例如 ribbonColAmpl.m,在任何您想要保存的位置。
删除第46行的表面参数“n*cc”,在'parent'之前。这就是控制连接表面固定颜色的内容。
保存文件并使用此新函数代替原始函数:大功告成!
waterfall
实现相同的效果:h = waterfall(data);
set( h, 'LineWidth', 4 );
hidden off;
h = ribbon(y,z)
之后设置一些属性,即set(h, {'CData'}, get(h,'ZData'), 'FaceColor','interp','MeshStyle','column')
。 - Oleg