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

4 ビュー (過去 30 日間)
A
A 2015 年 7 月 12 日
編集済み: A 2015 年 7 月 12 日
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
EDIT: Bump? Anyone?
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);
export_fig Alpha.png -m2 -q101 -nocrop

回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by