How to render all plot information into a metafile using copy figure, saveas, print, or any other option?
10 views (last 30 days)
Show older comments
Hello,
I am facing some issues when I try to use copy figure, saveas, or print to then get a metafile (emf) plot that can be inserted in word. Information from the plot legend is lost when using painters as renderer. A MatLab script has been attached to illustrate the problem, which is further described below. Any input at this point would be highly appreciated.
- I am trying to make a plot like that shown below (screen shot), where the legends are changed using the object handle of legend. Here, the legend has an open and a closed symbol.
- However, when I use copy figure, saveas, or print with painters as renderer to obtain a metafile, information i.e. filling in the plot legend is lost as shown below (also a screen shot).
Kindly note the following:
- I was previously able to just use copy figure and get the desired plot. However, for some reason now I am facing difficulties. I am a bit unsure when exactly I upgraded but perhaps this issue is caused by a change from MatLab2016a to MatLab2019b
- This issue does not persist if I use bitmap pictures. However, if possible, I would like to use emf format pictures to ensure high quality.
Thank you in advance.
0 Comments
Answers (1)
Divya Yerraguntla
on 31 Mar 2020
Edited: Divya Yerraguntla
on 1 Apr 2020
Hi Burak,
This is a known issue in MATLAB. As a workaround try appending this code at the end of your code:
EDIT :
style = getappdata(gcf,'Exportsetup');
if isempty(style)
try
style = hgexport('readstyle','Default');
catch
style = hgexport('factorystyle');
end
end
hgexport(gcf,'test.emf',style,'Format','meta');
Hope it helps!
3 Comments
See Also
Categories
Find more on Printing and Saving in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!