![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
matlab做三个变量的三维图,如何让他们颜色不一样?(在一个图里)
三个变量,使用surfl作一幅三维图,使用colormap设置颜色,可是三个变量无法做到颜色不一样,都是使用的最后一个变量的设置。请教如何能够让三个变量的图形颜色不一样?...
三个变量,使用surfl作一幅三维图,使用colormap设置颜色,可是三个变量无法做到颜色不一样,都是使用的最后一个变量的设置。请教如何能够让三个变量的图形颜色不一样?(在同一个图中)。我试了用hold不行,这个跟二维作图还是有区别的。
如图,三个变量的颜色都是一样的,不方便观看。 展开
如图,三个变量的颜色都是一样的,不方便观看。 展开
展开全部
首先,使用colormap肯定是不行的,因为该函数改变的是整个窗口的调色板,不可能用于区分三个不同的surface对象;
可行的做法:在绘制曲面时,同时指定颜色值,示例代码:
[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
指定一个颜色较为丰富的调色板。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询