天天看點

Matlab 出圖的一些總結基礎的作圖要素曲面或網格圖關于動畫生成的方式

matlab出圖實際直接help+相關command就能看到官方文檔了,一般還有示例,這個文檔的主要目的是總結下matlab有哪些比較友善的作圖指令,以及科研出圖時可能用到的一些技巧

基礎的作圖要素

圖題

title('My Title')// 輸入代碼内容           

複制

圖題可以修改相應字型,顔色等,詳見help

圖例

  • 如下代碼展現了圖例的使用方式,可以修改圖例位置,以及去掉圖例的邊框背景
legend({'cos(x)','cos(2x)'},'Location','southwest')
legend('boxoff')           

複制

布局

  • 多圖的布局除了subplot還有如下方式tiledlayout指令,同時可以修改北京以及間隙,詳見help檔案
tiledlayout(m,n)
tiledlayout('flow')
tiledlayout(___,Name,Value)
tiledlayout(parent,___)
t = tiledlayout(___)           

複制

坐标

  • 方向設定
set(gca,'YDir','normal');        //将y軸方向設定為普通(從下到上遞增)。
set(gca,'YDir','reverse');        //将x軸方向設定為反向(從上到下遞增)。
set(gca,'ZDir','reverse');        //将z軸方向設定為反向(從上到下遞增)。           

複制

  • 字型設定
set(gca,'linewidth',1,'fontsize',18,'fontname','Times'); //坐标軸字型及大小           

複制

曲面或網格圖

普通曲面圖

  • 普通圖通過如下指令即可
handle = fill3(X,Y,Z,C)
handle = surf(X,Y,Z,C)  //X Y Z 為坐标向量, C為顔色
surfnorm(X,Y,Z) //帶法向量的曲面
surfnorm(Z)           

複制

  • 多個圖例可以用循環加上num2str實作

加入color bar

c=colorbar;
c.Label.String='Cp';           

複制

網格或修改網格顔色

當要修改網格線的顔色時,surf 指令提供了更多選項,以下是相關選項的關鍵字

handle.EdgeColor = 'none'; // 隐藏邊,也可改為其它顔色
handle.FaceColor =  'none'; //填充顔色
handle.LineStyle = '-'; //線型
handle.FaceAlpha = 0.5; //透明度           

複制

一個包含了上述用法的示例:

Matlab 出圖的一些總結基礎的作圖要素曲面或網格圖關于動畫生成的方式

Fig 1.旋轉葉片尾渦與氣動力

關于動畫生成的方式

動畫的生成matlab help(matlab command 輸入 help movie可以檢視)檔案中已經給出示例,但自己作圖時,總出現儲存的動畫部分幀位置不對或部分區域空白的情況,通過反複嘗試後發現是movie對儲存圖檔的大小限制造成,是以可能需要plot循環語句中加入下述語句對每次plot的圖檔進行限制:

figure(201);clf; %指定圖号,即使在并行畫圖時保證畫在同一圖上
view(-72,17); %鎖定視角,具體值的确定可以先plot一次調整視角,記錄下圖窗中顯示的該值
set_axis(); %鎖定坐标範圍,保證每幅圖的一緻      
Fmat(j) = getframe(gcf, [0 0 560, 420]); %給定圖檔大小           

複制