SPUR0645 发表于 2009-1-8 22:30

关于claber


我用=contour(.........)画出等高线后,用了一条claber语句,目的是让数据如图显示在每条等高线上,但现在的问题是,我希望显示的数据能够被四舍五入化简为整数,因为是示意图,所以不需让小数点之后四位,需要整数就行了,按我的理解,C中存放的数据应该是图上显示的数据吧,我希望用C=round(C);把C 中的数据变为整数,然后再用claber(C,h)把数据显示在图上,但试了一下,不行,显示的数据还是小数。我也考虑在画等高线之前就把数据给四舍五入为整数,然后再画线,但这样一来画出的线就不是平滑曲线了,因为是把近似的等高数据连起来的,所以等高线不再平滑,所以我觉得还是得用精确的数据来画线,然后再给等高线标示数据的时候,把它显示为四舍五入的整数,另外还有个问题 ,怎么能让显示的数据只显示一次?现在图上的线都是多次被显示了,比如最里面的圆圈上都有两个52.085,随后圈越大,重复的数据就越多,其他曲线也是。

麻烦各位指教,谢谢 。

[ 本帖最后由 SPUR0645 于 2009-1-8 22:36 编辑 ]

ch_j1985 发表于 2009-1-8 23:13

回复 楼主 SPUR0645 的帖子

看看这段介绍有没有帮助
TextList

    vector of contour values

    Contour values to label. This property contains the contour values where text labels are placed. By default, these values are the same as those contained in the LevelList property, which define where the contour lines are drawn. Note that there must be an equivalent contour line to display a text label.

    For example, the following statements create and label a contour plot:

    =contour(peaks);
    clabel(c,h)

    You can get the LevelList property to see the contour line values:

    get(h,'LevelList')

    Suppose you want to view the contour value 4.375 instead of the value of 4 that the contour function used. To do this, you need to set both the LevelList and TextList properties:

    set(h,'LevelList',[-6 -4 -2 0 2 4.375 6 8],...
            'TextList',[-6 -4 -2 0 2 4.375 6 8])

ChaChing 发表于 2009-1-8 23:17

这个个人从没使用过! 想试试看!
方便给齐相关资料/程序吗? 懒得自己产生!

ChaChing 发表于 2009-2-9 13:22

回复 楼主 SPUR0645 的帖子

试试
clc; clear
= meshgrid(-2:.2:2,-2:.2:3); Z = 1000*X.*exp(-X.^2-Y.^2);
= contour(X,Y,Z,20); clabel(C,h)
figure; = contour(X,Y,Z,20); clabel(C,h)
cc=get(h,'LevelList'); dd=round(10*cc)/10;
set(h,'LevelList',dd,'TextList',dd,'LabelSpacing',500);

ChaChing 发表于 2009-2-9 13:52

旧版是无此功能的, 个人试了一会, 仍感觉不得要领无法有效控制!
譬如LevelList及TextList无法独立设定! 即两张图的等高线其实是不同的!
本欲使用set(h,'LevelList',cc,'TextList',dd); 没成功!
让显示的数据只显示一次, 找不到专有属性, 使用LabelSpacing替代, 一样感觉不好使!
有高手熟的! 教教吧!

bainhome 发表于 2009-2-9 14:15

等值线数目不能自行控制,high-level命令只能控制比例。等值线的值怎么能四舍五入?!自己设定要绘制的整数即可—命令中有两个后缀参数n和v请看看使用方法。
ps:claber是什么东东?
页: [1]
查看完整版本: 关于claber