How to make high quality publication-level 3d surfaces?
Info
This question is closed. Reopen it to edit or answer.
Show older comments
Hi guys,
I'm using matlab to create simple 3d surfaces such as the one below. I would like to produce very high quality, "modern"-looking really cool 3d surfaces that are very pleasing to the eye. I have done my best to do this in below example. Can this be improved at all?
Thank you
set(0,'DefaultFigureColor','White',...
'defaultaxesfontsize',8,...
'DefaultAxesFontname','Calibri',...
'DefaultTextFontName','Calibri')
s1 = surf(peaks);
xlabel('X Label', 'fontweight', 'bold')
ylabel('Y Label', 'fontweight', 'bold')
zlabel('Z Label', 'fontweight', 'bold')
title('PEAKS', 'FontSize', 12, 'fontweight', 'bold')
yh = get(gca,'YLabel'); % Handle of the y label
set(yh, 'Units', 'Normalized')
pos = get(yh, 'Position');
%set(yh, 'Position',pos.*[0.85,0.6,1],'Rotation',-10.9)
set(yh, 'Position',pos.*[0.8,-0.4,0],'Rotation',-13)
xh = get(gca,'XLabel'); % Handle of the x label
set(xh, 'Units', 'Normalized')
pos = get(xh, 'Position');
%set(xh, 'Position',pos.*[1,1,1],'Rotation',11.1)
set(xh, 'Position',pos.*[1,1,0],'Rotation',11.1)
zh = get(gca,'ZLabel'); % Handle of the z label
set(zh, 'Units', 'Normalized')
pos = get(zh, 'Position');
%set(zh, 'Position',pos.*[1.15,1,0],'Rotation',90)
set(zh, 'Position',pos.*[1,1,0],'Rotation',90)
th = get(gca,'title'); % Handle of the z label
set(th, 'Units', 'Normalized')
pos = get(th, 'Position');
set(th, 'Position',pos.*[1,1.005,0],'Rotation',0)
view (135,15);
axis tight
camlight
lighting phong
shading interp
set(s1,'FaceColor',[0.1 0.75 1], 'edgecolor',[0 0 0.4],'meshstyle','both','linewidth',.15);

Answers (0)
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!