Info

This question is closed. Reopen it to edit or answer.

How to make high quality publication-level 3d surfaces?

1 view (last 30 days)
A
A on 12 Jul 2015
Closed: Walter Roberson on 12 Jul 2015
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!