首页
/
每日頭條
/
生活
/
matlab如何畫出不同線型
matlab如何畫出不同線型
更新时间:2024-09-28 23:23:43

前面有一章介紹了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

謝謝查看!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
老式賽螃蟹的做法
老式賽螃蟹的做法
“賽螃蟹”的做法版本衆多,有黃花魚肉版的,有炒雞蛋版本,今天澤瑞媽要和大家分享的是天津版的賽螃蟹,食材用的是肉末和雞蛋。這款賽螃蟹是和我婆婆學的,因為做好後确實有一股螃蟹肉味,我家直接叫它假螃蟹肉。做好的假螃蟹肉軟嫩鮮香,味鮮賽蟹肉,不是螃...
2024-09-28
香蕉紫薯酸奶如何做
香蕉紫薯酸奶如何做
香蕉紫薯酸奶如何做?食材:鮮牛奶一瓶,紫薯一個,香蕉一個,藏靈菇适量,蜂蜜适量,現在小編就來說說關于香蕉紫薯酸奶如何做?下面内容希望能幫助到你,我們來一起看看吧!香蕉紫薯酸奶如何做食材:鮮牛奶一瓶,紫薯一個,香蕉一個,藏靈菇适量,蜂蜜适量。...
2024-09-28
微信支付密碼忘了怎麼辦沒銀行卡
微信支付密碼忘了怎麼辦沒銀行卡
微信支付密碼忘了怎麼辦沒銀行卡?打開微信并登錄,點擊“我”中的“錢包”,點擊右上角的“幾個小方塊”圖标,今天小編就來說說關于微信支付密碼忘了怎麼辦沒銀行卡?下面更多詳細答案一起來看看吧!微信支付密碼忘了怎麼辦沒銀行卡打開微信并登錄,點擊“我...
2024-09-28
50 道解方程題帶答案
50 道解方程題帶答案
用方程解決應用題一直是小學數學的一大利器。許多難題用解方程的方法一試就出來了。雖然小學階段是以培養思維訓練為主,老師們都不喜歡孩子們所有的題目都用方程的方法去解決。但是!在考試中,一旦有題目用普通的解法不會了!方程的方法就派上了大用處。方程...
2024-09-28
說一說你們最想通的一件事吧
說一說你們最想通的一件事吧
說一說你們最想通的一件事吧?01大家好,,接下來我們就來聊聊關于說一說你們最想通的一件事吧?以下内容大家不妨參考一二希望能幫到您!說一說你們最想通的一件事吧01大家好,我是園長~周末聊一聊,我最近做的一件有意思的事吧~02今年1月1日,我在...
2024-09-28
Copyright 2023-2024 - www.tftnews.com All Rights Reserved