Exporting a figure with transparent markers

2 vues (au cours des 30 derniers jours)
Samantha Cox
Samantha Cox le 1 Avr 2016
Commenté : Samantha Cox le 5 Avr 2016
I need to export a figure with transparent markers. I can not currently find a solution for this. Usually I use export_fig, but this is not working. I have tried plot2svg (which just spits back errors), saveFigure does not work, save2pdf, print, or saving through the interface to any format. Normally I save to .png.
The figure was generated through:
hLine=plot(X,Y,'o','MarkerSize',5,'MarkerFaceColor','k','MarkerEdgeColor','none')
drawnow; hMarkers = hLine.MarkerHandle; hMarkers.get; hMarkers.FaceColorData = uint8(255*[0;0;0;0.5]);
Any help is appreciated
  1 commentaire
Jeevan Joishi
Jeevan Joishi le 5 Avr 2016
How is it different from having no markers at all or having set the 'MarkerEdgeColor' set to none?

Connectez-vous pour commenter.

Réponses (1)

Mike Garrity
Mike Garrity le 5 Avr 2016
Reaching inside the Line object and messing with its undocumented internals is not a supported operation for a variety of reasons. One of the reasons is that print won't be able to see what you've done.
There are supported ways to create objects with transparency. For example, in R2015b or R2016a, you could do this:
npts = 250;
X = 1:npts;
Y = randn(1,npts);
scatter(X,Y,'filled','o','MarkerFaceColor','black','MarkerFaceAlpha',.5)
print('-dpdf','foo.pdf')
  1 commentaire
Samantha Cox
Samantha Cox le 5 Avr 2016
My university only has matlab version 2015a. On the help files it says that FaceAlpha is possible for scatter objects after 2014b, but this does not seem to be true. I found a way to get around it using patches to make the markers...

Connectez-vous pour commenter.

Catégories

En savoir plus sur Interactive Control and Callbacks 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