re-us 发表于 2010-9-26 12:09

Contour的LineStyle和colorbar的颜色

目的:(1)把大于0的线用实线表示,小于0的线用虚线表示。如果用’LineStyle’的话都改变了。(2)colorbar不想要渐变的,只想表示图上有的颜色,但是用colormap好像不容易控制。非常感谢。代码:clc
clearx=peaks(60);
=contourf(x,[-8:2:2,8]);
clabel(c,h);
set(h,'LineStyle','--');colorbar

re-us 发表于 2010-9-26 12:10

图形就是用上面的代码画出来的,可以不用下载,如果费体能的话。
谢谢

qibbxxt 发表于 2010-9-26 14:50

希望下面这段代码能对你有所帮助A=peaks;
= contourf(A,20);
p=get(h,'Children');
c=get(p,'Cdata');
set(p(<=0),'LineStyle','--')
set(p(>0),'LineStyle','-')来自:http://www.mathworks.com/matlabcentral/newsreader/view_thread/242871

re-us 发表于 2010-9-26 23:38

回复 qibbxxt 的帖子

谢谢,第一个问题解决了。

zhouyang664 发表于 2010-9-27 19:58

至于第二个问题,参考一下:
contourf(peaks(60));
colormap(jet(8));
hcb = colorbar('YTickLabel',...
{'Freezing','Cold','Cool','Neutral',...
'Warm','Hot','Burning','Nuclear'});
set(hcb,'YTickMode','manual')

上面的代码来自matlabhelp,在matlab在线帮助搜Adding a Colorbar to a Graph里有这个例子

zhouyang664 发表于 2010-9-27 20:30

本帖最后由 zhouyang664 于 2010-9-27 20:31 编辑

终于搞定了,和你所要求的一样!
clc;clear;clf;
x=peaks(60);colormap(jet(9));
=contourf(x,[-8:2:2,8]);
clabel(c,h);
q=get(h,'children');%标注之后,句柄h的子对象中加入了'text'对象,
p=findobj(q,'type','patch');   %必须从中选出'patch’对象
d=get(p,'Cdata');
set(p(<=0),'linestyle','--')
set(p(>0),'linestyle','-');
colorbar
页: [1]
查看完整版本: Contour的LineStyle和colorbar的颜色