标签上的轮廓有太多的位数

113(30天)
马里亚姆
马里亚姆 2013年7月29日
回答: mauricio misraji2023年3月15日
我如何设置精确的数字在我的等高线图?现在clabel: 1.29567,我想它圆形像:1.3。
谢谢

接受的答案

马里亚姆
马里亚姆 2013年7月30日
我做了以下,它完美地:
[c, h] = contourf (X, Y, h);texth = clabel (c, h,“手册”,“字形大小”,20);我= 1:尺寸(texth) textstr = (texth(我),“字符串”);textnum = STR2DOUBLE (textstr);textstrnew = sprintf (% 0.3 f, textnum)组(texth(我),“字符串”,textstrnew);结束
1评论
约翰内斯。
约翰内斯。 2022年2月22日
非常感谢! !我在寻找这样的大约两天了。
德国的事情,你需要使用一个逗号十进制sep.而不是一个点,这是最好的解决方案等高水平。

登录置评。

更多的答案(4)

马修·珀金斯
马修·珀金斯 2018年9月10日
发现了这个作品。而且似乎更加容易。我有R2015b。
[c, h] = contourf (X, Y, h);
h.LevelList =圆(h.LevelList, 3)%达到小数点后第三轮水平
clabel (c、h)
3评论
赵Shuaijie
赵Shuaijie 2021年2月17日
工作好!
谢谢

登录置评。


莫伊塞斯Jezzini
莫伊塞斯Jezzini 2016年9月12日
编辑:莫伊塞斯Jezzini 2016年9月12日
更新以来,这是第一个回答在我的搜索。这对2014 b以上工作,以前的解决方案不工作,由于clabel的工作方式的变化。
[X, Y, Z] =山峰;
图;
[C ~] =轮廓(X, Y, Z 5“ShowText”,“上”);
tl = clabel (C,“字形大小”10);
itvec = 2:2:长度(tl);
NewCoutours = 0(大小(itvec));
i = itvec
textstr =得到(tl(我),“字符串”);
NewCoutours (i) =圆(str2double (textstr), 2);
结束
轮廓(X, Y, Z, NewCoutours“ShowText”,“上”);
之前

雨果
雨果 2013年7月30日
您可以使用
(C、h) =轮廓();
texth = clabel (C、h);
texth是一个向量,它包含所有标签的处理。获得的价值标签数量n可以使用
textstr =得到(texth (n),“字符串”);
textstr是一串字符,而不是一个数字,所以你应该做的
textnum = str2num (textstr);
改一个数字。然后你可以设置使用的精度
textstrnew = num2str (textstr,% 1.1克的);
然后设置标签
集(texth (n),“字符串”,teststrnew);
希望这个有帮助。
2的评论
雨果
雨果 2013年8月2日
它不工作,因为你写“textstrnew = num2str (textstr 1);“代替我写什么。第二个输入参数应该是一个合适的一个。

登录置评。


mauricio misraji
mauricio misraji 2023年3月15日
您可以添加选择轮廓命令:
“LabelFormat”,“% 0.1 f”
在0.1意味着只是一个十进制数字。例如:
轮廓(X, Y, Z的水平,“ShowText”,“上”,“LabelFormat”,“% 0.4 f”)
显示4小数位数。

类别

找到更多的在轮廓图帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!