export_fig Transparency
显示 更早的评论
I am attempting to save a bunch of figures as .png (or any type of image file) files with a transparent figure background BUT a non transparent axis background. I am not able to do this with just matlab commands as I have tried (see code below)
fig = figure;
plot(rand(5))
title('testttttt');xlabel('whattt');ylabel('whyyyy')
set(fig, 'color', 'none')
saveas(fig, 'test.png')
This produces a figure with a transparent background, but when saved does not save that transparency.
This lead me to find export_fig. According to what I read on the readme and the github I assumed that it would only change the figure, NOT the axis color. The snip below is from https://github.com/altmany/export_fig/blob/master/README.md

When I go to save the figure using the following commands the axis and figure are BOTH transparent.
fig = figure;
plot(rand(5))
title('testttttt');xlabel('whattt');ylabel('whyyyy')
export_fig test.png -transparent
How do I just get the figure NOT axis to be transparent. I do know about the "Copy Figure" manual method but I am creating hundreds of figures and reallllly want a non-manual method for this implementation.
The below snip shows what I want on the left (manual Copy Figure method) versus the right, which is what export_fig creates. I have it on a sample powerpoint background.

Thanks for any help.
回答(1 个)
Oliver Woodford
2021-10-24
编辑:Oliver Woodford
2021-10-24
The answer is in the help text you shared (you just want the axes color to be white, not none):
fig = figure;
plot(rand(5))
title('testttttt');xlabel('whattt');ylabel('whyyyy')
set(gca(), 'color', 'w');
export_fig test.png -transparent
类别
在 帮助中心 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!