声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 7867|回复: 5

[图像处理] Contour的LineStyle和colorbar的颜色

[复制链接]
发表于 2010-9-26 12:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

1.fig

58.96 KB, 下载次数: 2

回复
分享到:

使用道具 举报

 楼主| 发表于 2010-9-26 12:10 | 显示全部楼层
图形就是用上面的代码画出来的,可以不用下载,如果费体能的话。
谢谢
发表于 2010-9-26 14:50 | 显示全部楼层
希望下面这段代码能对你有所帮助
  1. A=peaks;
  2. [C,h] = contourf(A,20);
  3. p=get(h,'Children');
  4. c=get(p,'Cdata');
  5. set(p([c{:}]<=0),'LineStyle','--')
  6. set(p([c{:}]>0),'LineStyle','-')
复制代码
来自:http://www.mathworks.com/matlabc ... /view_thread/242871

评分

1

查看全部评分

 楼主| 发表于 2010-9-26 23:38 | 显示全部楼层
回复 qibbxxt 的帖子

谢谢,第一个问题解决了。
发表于 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里有这个例子
发表于 2010-9-27 20:30 | 显示全部楼层
本帖最后由 zhouyang664 于 2010-9-27 20:31 编辑

终于搞定了,和你所要求的一样!
clc;clear;clf;
x=peaks(60);colormap(jet(9));
[c,h]=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([d{:}]<=0),'linestyle','--')
set(p([d{:}]>0),'linestyle','-');
colorbar

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 18:53 , Processed in 0.058648 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表