How to make high quality publication-level 3d surfaces?
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
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);

Réponses (0)
Cette question est clôturée.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!