make a data plot
1 view (last 30 days)
Show older comments
Hello! I want to make a plot like this, but I don't know exactly how.

More specifically,I want to plot the possible values of flux variability for some reactions.
Could someone guide me? Thank you.
3 Comments
Accepted Answer
John D'Errico
on 16 Dec 2021
Edited: John D'Errico
on 16 Dec 2021
Easier than you think.
First, write a little function that will plot a bar of fixed height, between two points on the x axis. It might look like the function called xbar below.
Next, call that function repeatedly, once for each horizontal bar.
Finally, change the y axis to have a different set of tick labels. It looks like you will need to set the YTickLabel property on the axes. For example:
plot(rand(1,5))
H = get(gca);
H.YTickLabel
Now you can reset those tick mark lables as desired. And they need not be numbers.
function xbar(y,xlo,xhi,barcolor)
% On the current figure, creates a horizontal bar
% of unit height, between y and y+1, and between xlo and xhi
% this can be as simple as one call to fill.
barpolyx = [xlo,xhi,xhi,xlo];
barpolyy = [y,y,y+1,y+1];
fill(barpolyx,barpolyy,barcolor)
end
Should be pretty simple. Spend some time learning to use the basic tools.
More Answers (1)
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!