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

5 vues (au cours des 30 derniers jours)
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.

Réponses (1)

Christiaan
Christiaan le 29 Avr 2015
Modifié(e) : Christiaan le 29 Avr 2015
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 commentaire
Initial Conditions
Initial Conditions le 29 Avr 2015
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?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Lighting, Transparency, and Shading dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by