How to render all plot information into a metafile using copy figure, saveas, print, or any other option?
10 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Divya Yerraguntla
2020-3-31
编辑:Divya Yerraguntla
2020-4-1
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Printing and Saving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!