tft每日頭條

 > 生活

 > matlab如何畫出不同線型

matlab如何畫出不同線型

生活 更新时间:2024-09-16 16:15:29

前面有一章介紹了MATLAB在一張圖片中用不同顔色繪制多條曲線的幾個方法。今天我們再介紹一下在畫圖時使用不同的線型、點及标記等。

一、 線型、連續标記

先從最普通的說起。在plot函數中指定線型。

t=linspace(0,5,20);

x1 = t;

x2 = 2*t;

x3 = 3*t;

x4 = 4*t;

plot(t,x1,'b',t,x2,'g-o',t,x3,'r*',t,x4,'c:d');

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)1

這是基礎的比較簡單的情況。不做太多叙述。matlab提供的線型、顔色和标記符如下表:

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)2

如果指定了标記符号但未指定線型,則 plot僅顯示無線條連接的标記。

A = 1;

f= 1;

x1 = A * sin(2*pi*f*t)./t;

x2 = A * cos(2*pi*f*t-pi/2)./t;

plot(t,x1,'bo',t,x2,'r*');

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)3

兩組數據比較

可以通過名稱-值對組參數來設置标記屬性,自定義标記。

  • MarkerSize
  • - 标記大小,指定為正值。
  • MarkerEdgeColor
  • - 标記輪廓顔色,指定為顔色名稱或 RGB 三元組。
  • MarkerFaceColor
  • - 标記内部顔色,指定為顔色名稱或 RGB 三元組。

t=linspace(0,5,120);

A = 1;

f= 0.2;

x1 = exp(t/10).*sin(4*2*pi*f*t);

plot(t,x1,'b--d','MarkerSize',9,'MarkerEdgeColor','red','MarkerFaceColor',[1 0.6 0.5])

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)4

二、在指定位置做标記

如果需要在特定的點做标記,可以使用MarkerIndices(要顯示标記的數據點的索引)設置。

1、比如從第一個數據點開始,每隔十個數據點顯示一個标記。則可設置plot(x,y,'-*','MarkerIndices',1:10:length(y))。

2、假如在最小數據值和最大數據值處顯示紅色标記。首先找到最大最小值。

idxmin = find(y == max(y));

idxmax = find(y == min(y));

然後設置 plot(x,y,'-d','MarkerIndices',[idxmin idxmax]).

同理,我們可以使用MarkerIndices屬性設置需要做标記的指定位置。

plot(x,y,'-d','MarkerIndices',[1 10 18 32]).

注意:MarkerIndices是MATLAB R2016b及之後版本才有的。

3、plot函數中直接指定橫豎坐标

t=linspace(0,5,120);

A = 1;

f= 0.2;

x1 = exp(t/10).*sin(4*2*pi*f*t);

plot(t,x1,t(40),x1(40),'rp',t(75),x1(75),'k*');

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)5

4、text添加文字說明

t=linspace(0,5,100);

A = 1;

f= 1;

x1 = A * sin(2*pi*f*t)./t;

plot(t,x1,'b-.',t(6),x1(6),'rp',t(60),x1(60),'md');

text(t(6),x1(6),[ ' \leftarrow' 'P(' num2str(t(6)) ',' num2str(x1(6)) ')' ]);

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)6

還可以設置說明顔色。

text(t(6),x1(6),[ ' \leftarrow' 'P(' num2str(t(6)) ',' num2str(x1(6)) ')' ],'color','r');

還可以使用gtext,gtext('輸入内容'),然後在圖片上點擊鼠标确定标記位置。

5、annotation()函數

annotation(lineType,x,y) 創建一個在當前圖窗中的兩個點之間延伸的線條或箭頭注釋。将 lineType 指定為 'line'、'arrow'、'doublearrow' 或 'textarrow'。将 x 和 y 分别指定為 [x_begin x_end] 和 [y_begin y_end] 形式的二元素向量。

比如 annotation('textarrow',x,y) % 坐标x,y是标準化的坐标,其取值在 0~1之間,整個figure窗口左下角為(0, 0),右上角為(1, 1)。

close all;

t=linspace(0,5,100);

A = 1;

f= 1;

x1 = A * sin(2*pi*f*t)./t;

x2= A * sin(2*pi*0.5*t)./t;

plot(t,x1,'r',t,x2,'g');

a = [0.3 0.17];

b = [0.75 0.7];

annotation('textarrow',a,b,'String','f = 1 ');

annotation('textarrow',[0.35 0.25],[0.5 0.39],'String',' f = 0.5 ');

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)7

annotation

設置圖窗添加矩形注釋。annotation('rectangle',[x y w h])% 建立矩形注釋對象。

figure

data = [2 4 6 7 8 7 5 2];

stem(data)

dim = [.3 .68 .2 .2];

annotation('rectangle',dim,'Color','red')

matlab如何畫出不同線型(MATLAB畫圖使用不同的線型)8

謝謝查看!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved