【MATLAB】繪圖!酷酷的 2D 繪圖!

  • plot(x,y):單條線段繪圖 2D
% x = 0 ~ 2π 間取 100 個點
x = linspace(0, 2*pi, 100);
% 以 x 為底,對應 sin(x) 為高
plot( x, sin(x) )
  • plot(x1,y1,x2,y2):多條線線段 2D 繪圖
% x = -4π ~ 4π 間取 100 個點
x = linspace(-4*pi, 4*pi, 100);

% 以 x 為底,對應 sin(x) 及 cos(x)
plot( x, sin(x), x, cos(x) )
  • title("可愛的標題"):設定圖表標題
  • xlabel()ylabel():設定 x、y 軸名稱
% x = -4π ~ 4π 間取 100 個點
x = linspace(-4*pi, 4*pi, 100);

% 以 x 為底,對應 sin(x) 及 cos(x)
plot( x, sin(x),x, cos(x) )

xlabel("這是可愛ㄉX軸")
ylabel("三角函數的高")
  • xlim( [min, max] )ylim( [min, max] ):設定 x、y 軸範圍
  • axis( [ xmin, xmax, ymin, ymax ] ):同上,一次性設定 x、y 軸範圍
  • grid on:顯示格線
% x = -4π ~ 4π 間取 100 個點
x = linspace(-4*pi, 4*pi, 100);

% 以 x 為底,對應 sin(x) 及 cos(x)
plot( x, sin(x),x, cos(x) )

xlabel("這是可愛ㄉX軸")
ylabel("三角函數的高")
title("這是一個酷酷的圖型")
xlim( [-5,5] )
ylim( [-5,5] )
grid on
  • set(gca, 'ytick', [1:5]):針對 y 軸顯示 1 ~ 5 五個標籤 only
    • set(gca, 'yticklable', {"第一個標籤","第二個標籤"......}):設定 y 軸標籤取代醜醜ㄉ數字
  • set(gca, 'xtick', [0.1 1 2.5 6]):針對 x 軸顯示 0.1 1 2.5 6 這四個標籤
% x = -4π ~ 4π 間取 100 個點
x = linspace(-4*pi, 4*pi, 100);

% 以 x 為底,對應 sin(x) 及 cos(x)
plot( x, sin(x),x, cos(x) )

xlabel("這是可愛ㄉX軸")
ylabel("三角函數的高")
title("這是一個酷酷的圖型")
xlim( [-5,5] )
ylim( [-5,5] )
set(gca, 'ytick', [0.5 1 1.5 4])
set(gca, 'yticklabel', {'底值','平均值','期望值','完美ㄉ狀態值'})
grid on
  • plot(x, sin(x), '--'):畫出虛線
  • plot(x, sin(x), 'o'):座標點畫圈圈
  • plot(x, sin(x), 'r'):線變成紅色
  • plot(x, sin(x), '--or'):紅色的虛線搭配圈圈
  • plot(x, sin(x), '--or','LineWidth',3):紅色的粗粗的虛線搭配圈圈

上述部分歡迎參考 這裡,因為種類有點多,自己看比較好看><

2D 繪圖共存術:subplot

  • subplot(a,b,c):創建一個 a 行 b 列的窗格,並且繪製第 c 個窗格中
    • subplot(2,3,4):那將會將視窗分成 2 x 3 ( 高 2 寬 3 )的空間,並將 plot() 的內容繪製到下圖中 4 的位置。

具體來說,我們今天將下面 3 個方程式分別 plot 出來並且擠在一個視窗內垂直排列

  • a = \sqrt{t}*\sin(3t)
  • b = \sqrt{t}*\cos(3t)
  • c = 1 - e^{\frac{-t}{\pi}}

其中 t = 0:0.1:10 = linspace(0,10,100),那你會得到下面酷酷的視窗圖案

t = linspace(0,10,100);
a = sqrt(t) .* sin(3*t);
b = sqrt(t) .* cos(3*t);
c = exp((-t)/pi);

subplot(3,1,1), plot(t,a)
subplot(3,1,2), plot(t,b)
subplot(3,1,3), plot(t,c)

當然,你也可以用像是 subplot(3,1,2,'replace')來去取代第 2 個圖,很酷吧~

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *