How can I preserve the figure information?

6 views (last 30 days)
I've always worked with vector graphics in Matlab, just setting the figure copy option to preserve information. However, now I'm trying to copy a surface plotted using a vector with 2049x2049 points and the figure is losing its resolution. I wanna export this figure to the software Visio, so I can put it togheter with another figure which shows the countours generated by the intersection of the surface and the horizontal plane. Any idea why this figure isn't preserving its information? I appreciate any help!
figure
surf(P,'FaceColor','w')
hold on
surf(xlim, ylim, plane_z1*ones(2), 'FaceColor','#A2142F', 'FaceAlpha',1)
hold off
xlabel('X \rightarrow', 'Rotation',20)
ylabel('\leftarrow Y', 'Rotation',-25)
zlabel('Z \rightarrow')

Accepted Answer

Dave B
Dave B on 28 Jul 2021
How about exporting to a file and importing that file in visio?
Depending on what format visio likes best (I suspect svg), and what release of MATLAB you're on (exportgraphics came out in R2020a):
print(gcf, 'bugsurf.svg', '-dsvg')
or
exportgraphics(gca, 'bigsurf.eps')
  4 Comments
Eric Bernard Dilger
Eric Bernard Dilger on 28 Jul 2021
Hello @Dave B!
Thanks for your help! It wasn't even preserving the axes resolution before. But now, your last suggestion solved my problem. Thank you very much!
Dave B
Dave B on 28 Jul 2021
Happy to help, sorry it took a few tries: 2049 seemed like such a harmless number, even 2049^2 squared, but in vector graphics I guess that's a lot of paths!

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!