Bound fill between two bounds, data given
4 次查看(过去 30 天)
显示 更早的评论
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:
Man thanks for the help!
Lukasz
0 个评论
采纳的回答
jonas
2018-11-10
编辑:jonas
2018-11-10
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!