How to set FaceAlpha of area plot
59 次查看(过去 30 天)
显示 更早的评论
Hi, I run in some issues when I try to set the transparency of an area plot. I can set the transparency of the histogram but not of the area plot. Is this a bug? Version: R2015a 8.5.0.197613.
This is the code I used:
clc;clear;
figure
h = histogram(1:10);
h.FaceAlpha = 0.2;
grid
figure
a = area(1:10);
grid
a.FaceAlpha = 0.2;
This is the warning I get: "No public field FaceAlpha exists for class matlab.graphics.chart.primitive.Area."


Thanks
0 个评论
采纳的回答
Star Strider
2016-5-30
Your code works correctly for me in R2016a.
As an alternative, you can use the patch function:
figure(2)
a = patch([1:10 10:-1:1], [1:10 zeros(1,10)], 'b');
grid
a.FaceAlpha = 0.2;
Note that you have to change your code to define the patch object, here adding a zeros vector to complete it.
4 个评论
Star Strider
2016-6-1
My pleasure.
You can also see if the fill function implements the ‘alpha’ parameter. It requires that you define a closed polygon for your data but may be easier to use with your data.
One option is to create your own function that implements the patch function and then call it in your plots. That way you would not have to change all your data, you simply call your function in each plot. You could probably do that with an anonymous function.
更多回答(1 个)
John BG
2016-5-30
In R2016a
your code works fine for both graphs.

Yet, you may want to control transparency separately:
clc;clear;
figure(1);
h = histogram(1:10);
h.FaceAlpha = 0.2;
grid
figure(2);
a = area(1:10);
grid
a.FaceAlpha = 0.8;

If you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!