Bound fill between two bounds, data given
7 views (last 30 days)
Show older comments
Hi. I have:
Upper Bound: UB = [5.522, 5.326, 5.250, 5.228, 5.198, 5.190];
Lower Bound: LB = [4.682, 4.874, 5.070, 5.069, 5.119, 5.122];
No. of elements: No = [388, 797, 1599, 3302, 6801, 13809];
I want to shade the area between those two bounds. I found answered questions to the same question, but I don't know how to translate it to my data. Also is there way to make the shaded area slightly opac or make it comprise of tiny dots? I have a couple of bounds and they might coincide. Also is there a way to add the shaded area to the legend (as shown on the picture)? Basically, I want to achieve something like this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/194620/image.png)
Man thanks for the help!
Lukasz
0 Comments
Accepted Answer
jonas
on 10 Nov 2018
Edited: jonas
on 10 Nov 2018
Should be easy using either fill or polygon. Just make sure you close the curve by flipping one of the bounds. For example:
UB = [5.522, 5.326, 5.250, 5.228, 5.198, 5.190];
LB = [4.682, 4.874, 5.070, 5.069, 5.119, 5.122];
No = [388, 797, 1599, 3302, 6801, 13809];
y = [UB flip(LB)];
x = [No flip(No)];
h = fill(x,y,'k','facealpha',0.1)
The output patch object of fill can be used as input to the legend.
You can use a FEX function for pattern fills, such as hatchfill. However, you will be able to distinguish overlapping areas if you play around with the facealpha argument of fill.
4 Comments
More Answers (0)
See Also
Categories
Find more on Annotations 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!