matlab做三个变量的三维图,如何让他们颜色不一样?(在一个图里)

三个变量,使用surfl作一幅三维图,使用colormap设置颜色,可是三个变量无法做到颜色不一样,都是使用的最后一个变量的设置。请教如何能够让三个变量的图形颜色不一样?... 三个变量,使用surfl作一幅三维图,使用colormap设置颜色,可是三个变量无法做到颜色不一样,都是使用的最后一个变量的设置。请教如何能够让三个变量的图形颜色不一样?(在同一个图中)。我试了用hold不行,这个跟二维作图还是有区别的。

如图,三个变量的颜色都是一样的,不方便观看。
展开
 我来答
tianxiawulang
推荐于2017-09-05 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2321万
展开全部
  1. 首先,使用colormap肯定是不行的,因为该函数改变的是整个窗口的调色板,不可能用于区分三个不同的surface对象;

  2. 可行的做法:在绘制曲面时,同时指定颜色值,示例代码:

    [x,y,z]=peaks;
    surf(x,y,z,z)
    hold on
    surf(x,y,z+5,z+10)
    surf(x,y,z-5,z-10)
    axis auto

    其中surf命令的第4个参数用于指定颜色(scaled),你可以在原有数据z基础上加或减去某个数,即可把整个曲面的颜色空间与其它曲面区别开来。

追问
请问最后一个参数Z有什么别的方法指定吗?
我试过了确实可以分开颜色,但是
surf(x,y,z,z)把图的颜色基调给限制死了,比如我的图就是绿色。

麻烦啦!谢谢大虾!分全给你啦!
追答
怀疑你是不是使用colormap命令指定了某个冷色调的调色板?
如果是,删掉colormap命令试试,或者用
colormap jet
指定一个颜色较为丰富的调色板。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式