How to save a 3D surface plot in 2D view in vector image format?

101 visualizaciones (últimos 30 días)
surfc(x,y,z,'LineStyle','none')
view(2)
I try to save it as eps file, but matlab default setting save it as bitmap instead of vector format (it doesn't happen for 2D plot). I then go to Export Setup > Rendering > tick Custom renderer with painter (vector format), but it gives me the contour plot under 3D surface plot. I have tried to use surf() instead, but it gives me a blank graph. I think MatLab saves the XY plane without projection of Z values, instead of the figure in 2D view. Does anyone have an alternative solution? Thanks!

Respuesta aceptada

Bruno Luong
Bruno Luong el 18 de Jul. de 2019
Editada: Eric Sargent el 20 de Dic. de 2023
Update: Starting in R2020a you can use the exportgraphics function to export to .eps.
exportgraphics(gcf,'2D.eps');
(Original answer prior to R2020a):
Try this
h=surfc(peaks,'LineStyle','none');
set(h(2),'LineColor','k');
view(2);
% Make contour-plot on top of the surface
set(gca,'Children',flip(h),'sortmethod','childorder')
set(gcf,'Renderer','Painter')
hgexport(gcf,'2D.eps');

Más respuestas (1)

Jakob
Jakob el 18 de Jul. de 2019
Editada: Jakob el 18 de Jul. de 2019
There is a very popular function over at the File Exchange: export_fig which deals with correctly exporting figures from Matlab. Maybe this can help you!
  2 comentarios
Ang Feng
Ang Feng el 10 de Mayo de 2020
from R2020a, Matlab allows you export vector graphics by using the exportgraphics function
Chockalingam Senthilnathan
Chockalingam Senthilnathan el 7 de Abr. de 2021
Worked like a charm for vectorising my 2D view of a surface plot thank you

Iniciar sesión para comentar.

Categorías

Más información sobre Printing and Saving en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by