例如,'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])
%---------------------------以下构造蓝色~红色的colormapn=[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,':')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)