饼图标签重叠

80(30天)
尤金Syrkin
尤金Syrkin 2020年4月28日
嘿家伙,所以我有一个饼图和标签1%,2% < 1%,因为有100个值很多重叠。
我能删除所有标签删除(findobj (p '类型','文本'))
有什么办法可以删除就的< 1%或标签分组吗?

接受的答案

亚当Danz
亚当Danz 2020年4月28日
编辑:亚当Danz 2020年4月29日
使用 派() 输出处理获取文本对象。
h =派(。);
th = findobj (h,“类型”,“文本”);%的文本处理
确定哪些文本字符串开头" < "
小= startsWith ({th.String},“<”);% r2016b或晚
%小= ~ cellfun (@isempty regexp ({th.String}, ' ^ < '));%任何matlab版本
删除文本对象或取代他们与空字符串值。
删除(th(小));
%或
集(th(小),“字符串”,)
演示:
h =派(排序([linspace (0, 1, 20), linspace (5、2、10), linspace (1、10、20))));
1评论
朱塞佩Degan Di Dieco
朱塞佩Degan Di Dieco 2021年5月24日
亲爱的亚当,
你很棒,你的帮助是如此珍贵。
谢谢,最好的。

登录置评。

答案(1)

托托
托托 2020年4月28日
编辑:托托 2020年4月28日
下面的饼图的文档标签 //www.tatmou.com/help/matlab/creating_plots/customize-pie-chart-labels.html ,我们可以把标签。一个简单的for循环可以删除你不想要的。
x = 50 50 [0.1];
p =饼(x);
pText = findobj (p,“类型”,“文本”);
i = 1:长度(x)
如果比较字符串(pText .String(我),“< 1%”)
pText(我)。字符串=;
结束
结束
1评论
朱塞佩Degan Di Dieco
朱塞佩Degan Di Dieco 2021年5月24日
嗨,托德,
你的建议是辉煌的。
谢谢你的帮助,最好的!

登录置评。

社区寻宝

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

开始狩猎!