# Plotting data with 5 dimensions

4 views (last 30 days)
Teshan Rezel on 7 Jul 2021
Commented: Mohammad Sami on 10 Jul 2021
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!
Teshan Rezel on 9 Jul 2021
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

Mohammad Sami on 8 Jul 2021
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
Mohammad Sami on 10 Jul 2021
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

### Categories

Find more on Surface and Mesh Plots in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!