Pie chart with arrows without text coincidence on each other
12 次查看(过去 30 天)
显示 更早的评论
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1328960/image.jpeg)
I would like to show the text with arrows to the piechart. Because text is concided on each other and it is not clear.appreciate your support.
figure ()
X = [0.287 0.03 0.123 0.046 0.026 0.007 0.004 0.01 0.011 0.038 0.03 0.025 0.013 0.025 0.011 0.098 0.054 0.062 0.023 0.008 0.033 0.029 0.007];
labels={'Hygiene (28.7%)','Medical/surgical (3.0%)','Wipres for personal care (12.3%) ','Wipes-other (4.6%)','Cotton pads (2.6%)','Garments (0.7%)','Interlinings (0.4%)','Leather goods (1.0%)','Coating substrates (1.1%)','Floor coverings (3.8%)', 'Upholstery/Household (3.0%)','Wall coverings (2.5%)','Table Linen (1.3%)','Air/gas filtration (2.5%)','Liquid filtration (1.3%)','Building/roofing (9.8%)','Civil engineering/underground (5.4%)','Automotive (6.2%)','Agriculture (2.3%)','Electronic materials (0.8%)','Food and beverage (3.3%)','Others (2.9%)','Unidentified (0.7%)'};
p=pie(X,labels)
t1=p (2)
t1.FontSize = 16;
t2=p (4)
t2.FontSize = 16;
t3=p (6)
t3.FontSize = 16;
t4=p (8)
t4.FontSize = 16;
t5=p (10)
t5.FontSize = 16;
t6=p (12)
t6.FontSize = 16;
t7=p (14)
t7.FontSize = 16;
t8=p (16)
t8.FontSize = 16;
t9=p (18)
t9.FontSize = 16;
t10=p (20)
t10.FontSize = 16;
t11=p (22)
t11.FontSize = 16;
t12=p (24)
t12.FontSize = 16;
t13=p (26)
t13.FontSize = 16;
t14=p (28)
t14.FontSize = 16;
t15=p (30)
t15.FontSize = 16;
t16=p (32)
t16.FontSize = 16;
t17=p (34)
t17.FontSize = 16;
t18=p (36)
t18.FontSize = 16;
t19=p (38)
t19.FontSize = 16;
t20=p (40)
t20.FontSize = 16;
t21=p (42)
t21.FontSize = 16;
t22=p (44)
t22.FontSize = 16;
t23=p (46)
t23.FontSize = 16;
1 个评论
the cyclist
2023-3-18
Not a solution to your question, but a much more compact way to change all your font sizes is
figure
X = [0.287 0.03 0.123 0.046 0.026 0.007 0.004 0.01 0.011 0.038 0.03 0.025 0.013 0.025 0.011 0.098 0.054 0.062 0.023 0.008 0.033 0.029 0.007];
labels={'Hygiene (28.7%)','Medical/surgical (3.0%)','Wipres for personal care (12.3%) ','Wipes-other (4.6%)','Cotton pads (2.6%)','Garments (0.7%)','Interlinings (0.4%)','Leather goods (1.0%)','Coating substrates (1.1%)','Floor coverings (3.8%)', 'Upholstery/Household (3.0%)','Wall coverings (2.5%)','Table Linen (1.3%)','Air/gas filtration (2.5%)','Liquid filtration (1.3%)','Building/roofing (9.8%)','Civil engineering/underground (5.4%)','Automotive (6.2%)','Agriculture (2.3%)','Electronic materials (0.8%)','Food and beverage (3.3%)','Others (2.9%)','Unidentified (0.7%)'};
p=pie(X,labels);
% Find the text objects in your pie chart
textObjects = findobj(p,"type","text");
% Change their font size
set(textObjects,"FontSize",16)
采纳的回答
the cyclist
2023-3-18
This is a case where you need to ask yourself, "What is the information I really need to convey to my audience, and what is the best way to convey it?" I think you will find that the answer is not going to be a pie chart with 23 slices.
If your audience really and truly needs to know the value of every sector, then a table with the values sorted is almost certainly the better way.
If they don't really need to know all those tiny percentages, then lump most of the tiny ones into a single "Other" category, and just do your pie chart (or better yet a bar chart) with the larger categories.
Even if you succeed is moving all the labels around so that they do not overlap, this is simply not an effective presentation of information.
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Pie Charts 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!