Saving figures with transparent patches / objects - figure background turning black

조회 수: 6 (최근 30일)
Hi,
I have an issue trying to print (or save using export_fig etc.) a plot that has some transparent patches - these are histogram bars and the transparency has been set using 'facealpha' for example
(h3,'facecolor',rgb('orange'),'facealpha',0.9);
When coming to print/save this figure, in the final saved figure the background colour is black. I've tried both the print and export_fig function to print to png but I can't get around this issue. Any ideas? Thanks.

답변 (1개)

Christiaan
Christiaan 2015년 4월 29일
편집: Christiaan 2015년 4월 29일
Dear Sir/Madame,
Please try the following example. It makes an 3D plot, makes it transparant and saves it as a png.
clc;clear all;close all;
fig1=figure(1);
[x,y] = meshgrid([-2:.2:2]);
z = x.*exp(-x.^2-y.^2);
h1=surf(x,y,z,gradient(z));
set(h1,'facecolor','r','facealpha',0.3)
set(gca,'color','none')
print('plot','-dpng')
If you have plotted this figure, you can go in the figure GUI to edit-> copy figure. Now, if you paste this in a text programm (i.e. Word) you obtain a transperant figure also in Word.
Good luck! Christiaan
  댓글 수: 1
Initial Conditions
Initial Conditions 2015년 4월 29일
Hi Christiaan,
The plot looks fine in Matlab, but when I open the png file I get the same problem - a totally black figure. Your suggestion will help me get round this problem manually, but I was looking for a fix where I don't have to use the GUI.
Just out of interest, if you open plot.png outside of Matlab, do you get the same result as me - a totally black figure?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by