# Plotting data with 5 dimensions

3 次查看（过去 30 天）
Teshan Rezel2021-7-7

Hi folks,
I have a dataset that has data points each with a name and 4 elements. However, of these elements are percentages that add up to a hundred, so a stacked graph will do the trick. The problem is that I need to include the 4th element, which is a number, as well as the names of the points.
For example, I could have:
A B C D
point1 = 64% 26% 10% 23
point2 = 83% 10% 7% 18
Is there a way to adequately display all this information in a single plot without clutter? I was thinking of representing each data point as a mini pie chart, with the diameter of the circle highlighting column D, and columns A, B and C in the graph as normal, but I'm unsure how to go about this!
##### 6 个评论显示隐藏 5更早的评论
Teshan Rezel 2021-7-9
hi @Steven Lord, yes it makes sense because the column D contains properties of the sample that are intrinsically related to the configuration of the 3 other columns

### 采纳的回答

How about you use the stacked chart as you intended and then just change the x axis to display the value of column D.
data = [64 26 10 23; 83 10 7 18];
datasub = data(:,1:3);
cats = categorical(compose('D = %i',data(:,4)));
b = bar(cats,datasub,'stacked');
set(b,{'DisplayName'},{'A';'B';'C'});
legend
##### 7 个评论显示隐藏 6更早的评论
The values are incorrect or just you are getting more decimal points then what you need ? If the later you can change the format spec inside the compose function to your desired formatting. Example %f or %0.2f You can see documentation for format spec under sprintf if you need more details. https://www.mathworks.com/help/matlab/ref/sprintf.html

R2021a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by