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; //透明度
複制
一個包含了上述用法的示例:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICMyYTMvw1dvwlMvwlM3VWaWV2Zh1Wa-cmbw5CN2QzN3ITM1QjMhRGO1UDMiZjMldzMzQ2MzgTZhRmN48CXwADMwATMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
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]); %給定圖檔大小
複制