Plot graphic with 3 variables

3 views (last 30 days)
Happy Bear
Happy Bear on 16 Mar 2020
Commented: Ameer Hamza on 17 Mar 2020
Hello everyone,
I want to plot a graphic with my data that is grouped by categories: level (0.03, 0.05 or 0.08) and 1/0 (category 1 or 0).
I want to plot time as a function of level (3 levels), split by category 1 and category 0, as shown in the drawing that i sketched.
How can I do it in matlab?

Accepted Answer

Ameer Hamza
Ameer Hamza on 16 Mar 2020
Edited: Ameer Hamza on 16 Mar 2020
Following code shows the example to extract data and plot in on the axes
A = [1 0.03 0.51;
1 0.05 0.42;
1 0.08 0.45;
0 0.03 0.57;
0 0.05 0.47;
0 0.08 0.60];
split_matrix = splitapply(@(x) {x}, A(:,2:3), A(:,1)+1);
ax = axes();
hold(ax);
for i=1:numel(split_matrix)
plot(ax, split_matrix{i}(:,1), split_matrix{i}(:,2), '.-', 'MarkerSize', 50, 'LineWidth', 2)
end
xlabel('Level');
ylabel('Time (s)');
xlim([0.03 0.08])
ylim([0.2 0.6]);
  2 Comments
Happy Bear
Happy Bear on 17 Mar 2020
Exactly what I wanted, thank you!
Just replaced xlim with xticks([0.03 0.05 0.08]).
Ameer Hamza
Ameer Hamza on 17 Mar 2020
Glad to be of help.

Sign in to comment.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!