MATLAB Answers

0

Best way to export figure of high quality

Asked by mashtine on 5 Feb 2015
Latest activity Commented on by mashtine on 9 Feb 2015
Hi everyone,
Now I know there is a copious amount of data on the web on this and I tried export_fig, print, saveas and every format I can think of. So far saveas is the quickest but it doesn't seem to get the quality right and there is no -r600 option as far as I can tell.
I have a matlab dataset attached and the code below. ANY assistance in maximizing saving time and quality would be INVALUABLE. Spent a lot of hours trying to get figures right in matlab.
inpdata = ERAW_TKE_Cabauw_wind_6hrly_2001_2014;
h = scatter3(inpdata(:,4),inpdata(:,3),inpdata(:,2),ones(size(inpdata,1), 1)*12,'o','filled','MarkerEdgeColor','k','MarkerFaceColor',[0 .75 .75]);
xlabel('Max')
ylabel('Mean')
zlabel('TKE')
view([40, 30])
set(h, 'PaperPositionMode', 'manual');
set(h, 'PaperUnits', 'inches');
set(h, 'PaperPosition', [1.5 0.5 7 7]);
set(h,'PaperOrientation','landscape');
Thank you!

  0 Comments

Sign in to comment.

1 Answer

Answer by Michael Haderlein on 5 Feb 2015

I didn't do the paper resizing here, but export_fig with zbuffer and -r600 produces quite a good figure:
export_fig('D:\Dokumente\test.png','-zbuffer','-r600')
Only thing I have to admit is the duration of about 14 s it took (but my computer is rather slow). If you have many files to print this way, just make a loop and let it run over night.

  3 Comments

Hi Michael,
Thanks for the response. Unfortunately it did not work for me and I got the following warnings and then a blank figure:
Warning: print2array generating a 658.9M pixel image. This could be slow and might also cause memory
problems.
> In print2array at 62
In export_fig at 338
Warning: Zbuffer is not supported for printing, using OpenGL instead.
> In graphics/private/inputcheck at 237
In print at 156
In print2array at 140
In export_fig at 338
The memory warning comes rather often although here it only warned about 83 M pixels. But I didn't resize, that can explain it. However, I had no problems with zbuffer. Doing the same with -opengl instead of -zbuffer, the output is basically the same. I think they usually differ in case of surfaces or lighting.
Thanks Michael. Could I be missing some graphics package or perhaps my memory is too low?

Sign in to comment.