Matlab怎么对contour 怎么设置画线的颜色啊?谢谢路过的各位。

Matlab怎么对contour 怎么设置画线的颜色啊?谢谢路过的各位。,第1张

contour(...,Name,Value) 使用一个或多个属性名-属性值对组指定等高线属性。Name 是属性名且必须置于单引号 ('') 内。Value 是对应的值。

例如,'LineWidth',2 将等高线宽度设置为 2

'color',‘r’ 将颜色设置为红色

给一个具体的程序例子:

r=0:0.001:4

x=0:0.001:1

[r,x]=meshgrid(r,x)

f1=r.*x.*(1-x)-x

figure

contour(r,x,f1,'LevelList',0,'color','r')

axis([0,4,-0.1,1])

%---------------------------以下构造蓝色~红色的colormap

n=[1 42 127 211 252]        

J = zeros(252,3)

%-----------------------------------------------R

J(n(2):n(3),1) =linspace(0,1,n(3)-n(2)+1)

J(n(3):n(4),1) =1

J(n(4):n(5),1) =linspace(1,0.5,n(5)-n(4)+1)

%-----------------------------------------------G

J(n(2):n(3),2) =linspace(0,1,n(3)-n(2)+1)

J(n(3):n(4),2) =linspace(1,0,n(4)-n(3)+1)

%-----------------------------------------------B

J(n(1):n(2),3) =linspace(0.5,1,n(2)-n(1)+1)

J(n(2):n(3),3) =1

J(n(3):n(4),3) =linspace(1,0,n(4)-n(3)+1)

%----------------------------------------------------------

rz=get(gca,'clim') %获得当前数值范围

rz=max(abs(rz))    %正负范围绝对值最大值

set(gca,'clim',[-rz rz]) %设置对称范围

colormap(J)%使用J作为colormap

这上面这些代码放在你原来画图的代码之后

前面生成J矩阵就是红蓝颜色的colormap

最后四句是改用新的J作为colormap

因为要0点刚好在中间,所以要设置颜色映射范围是正负对称的

以下是用这个colormap画出的图的例子

你的两种方法理论上都是对的,只不过有时因为坐标轴显示范围的变化在一张图上看不出来

你可以设置坐标横轴和纵轴的显示范围,这样就看到了

[X,Y,Z] = peaks

contour(X,Y,Z,20)

hold on

z2=randn(5)

contour(z,':')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11194159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存