0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Matlab畫圖技巧與實例:堆疊圖stackedplot

冬至子 ? 來源:算法工程師的學(xué)習(xí)日志 ? 作者:搬磚工程師domi ? 2023-07-19 14:59 ? 次閱讀

MATLAB線圖中,一共有3種類型,分別是

線圖,包括:plot,plot3,stairs,errorbar,area,stackedplot函數(shù)。

對數(shù)圖,包括:loglog,semilogx和semilogx函數(shù),。

函數(shù)圖,包括:fplot,fimplicit和fplot3函數(shù),感覺和ezplot很像,參見

stackedplot函數(shù)專門用來繪制堆疊圖,意思是一組數(shù)據(jù)擁有共同x軸,而y軸數(shù)據(jù)不同。在科研中相對于其他類型圖,雖然不常常出現(xiàn),但偶爾能用到。

注意,注意,注意,stackedplot函數(shù)在2018版本以下是沒有的,只有2018版本及以上才有。

1 堆疊圖stackedplot函數(shù)

1.1 用法

stackedplot(tbl)
stackedplot(tbl,vars)
stackedplot(___,'XVariable',xvar)
stackedplot(X,Y)
stackedplot(Y)
stackedplot(___,LineSpec)
stackedplot(___,Name,Value)
stackedplot(parent,___)
s = stackedplot(___)

stackedplot(tbl) 在堆疊圖中繪制表或時間表的變量。該函數(shù)在垂直層疊的單獨 y 軸中繪制變量。這些變量共享一個公共 x 軸。
如果 tbl 是表,則該函數(shù)繪制變量對行號的圖。
如果 tbl 是時間表,則該函數(shù)繪制變量對行時間的圖。
stackedplot 函數(shù)繪制 tbl 的所有數(shù)值、邏輯、分類、日期時間和持續(xù)時間變量,并忽略具有任何其他數(shù)據(jù)類型的表變量。例如,stackedplot(tbl,vars) 僅繪制 vars 指定的表或時間表變量。
stackedplot( ,'XVariable',xvar) 指定為堆疊圖提供 x 值的表變量。此語法僅支持表,而不支持時間表。例如,stackedplot(X,Y) 繪制 Y 列對向量 X 的圖。
stackedplot(Y) 繪制 Y 的列對其行號的圖。x 軸的刻度范圍是從 1 到 Y 的行數(shù)。
stackedplot(
,LineSpec) 設(shè)置線型、標(biāo)記符號和顏色。您可以將此語法與前面任何語法中的輸入參數(shù)結(jié)合使用。例如,stackedplot( ,Name,Value) 使用一個或多個 Name,Value 對組參數(shù)設(shè)置堆疊圖的屬性。有關(guān)屬性列表,請參閱 StackedLineChart 屬性。可以將此選項與前面語法中的任何輸入?yún)?shù)組合一起使用。名稱-值對組設(shè)置應(yīng)用于堆疊圖中的所有繪圖。將每個屬性名稱括在引號中。
stackedplot(parent,
) 在 parent 指定的圖窗、面板或選項卡中創(chuàng)建堆疊圖。選項 parent 可以位于前面的語法中的任何輸入?yún)?shù)組合之前。例如,s = stackedplot(___) 返回 StackedLineChart 對象。創(chuàng)建堆疊圖后,可以使用 s 更改堆疊圖的屬性。有關(guān)屬性列表,請參閱 StackedLineChart 屬性。

1.2 示例1

clc
clear all
close all
x = [1:0.1:10];
y(:,1) = sin(x);
y(:,2) = cos(x);
y(:,3) = sin(x).*cos(x);
stackedplot(x,y,'ro');

圖片

可以看出,上圖由三個小圖組成,它們公用x軸,但y軸不同。

1.3 示例2

這里我們可以通過句柄對圖形進(jìn)行更改。

堆疊圖有很多屬性,包括:

圖片

例如,可以對x軸和y軸添加名稱。其他屬性類似,直接指定即可。設(shè)定時,注意數(shù)據(jù)類型。

clc
clear all
close all
x = [1:0.1:10];
y(:,1) = sin(x);
y(:,2) = cos(x);
y(:,3) = sin(x).*cos(x);
h = stackedplot(x,y,'r-');
h.DisplayLabels = {'y1','y2','y3'};
h.XLabel = {'x-axis'};

圖片

1.4 示例3

在堆疊圖的屬性設(shè)置時,注意,注意,注意,是對整個圖進(jìn)行更改,例如,如果將線型改成虛線,那么三個圖都會被改成虛線。

但是,MATLAB也提供了每個圖的屬性操作,可通過整體屬性中的h.LineProperties進(jìn)行設(shè)置,對于每個小的圖形,h.LineProperties下設(shè)屬性有顏色、線型、線寬、點大小、圖類型等等,如下

Color,可以為傳統(tǒng)方法,例如‘r’,'b',可以設(shè)置RGB三色,如[0.5, 0.5, 0.5]
MarkerFaceColor
MarkerEdgeColor
LineStyle,設(shè)置為無時,要用‘none’命令
LineWidth
Marker
MarkerSize
PlotType,這里只能設(shè)置為plot,scatter和stairs函數(shù),不能為其他類型

示例如下

clc
clear all
close all
x = [1:0.1:10];
y(:,1) = sin(x);
y(:,2) = cos(x);
y(:,3) = sin(x).*cos(x);
h = stackedplot(x,y,'r-');
h.DisplayLabels = {'y1','y2','y3'};
h.XLabel = {'x-axis'};
h.LineProperties(1).Color = 'b';
h.LineProperties(1).LineWidth = 1.5;
h.LineProperties(2).LineStyle = 'none';
h.LineProperties(2).Marker = 'o';
h.LineProperties(2).MarkerSize = 8;
h.LineProperties(3).PlotType = 'stairs';
h.LineProperties(3).Color = 'k';
h.LineProperties(3).LineWidth = 1.5;

圖片

這里,

第一個圖顏色改成藍(lán)色,線寬設(shè)為1.5;

第二個圖線設(shè)置為無,點改為圈,點大小設(shè)為8;

第三個圖線型設(shè)置為階梯圖,顏色設(shè)為黑色,線寬為1.5;

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    787

    瀏覽量

    58217
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    175

    瀏覽量

    19847
  • MATLAB命令
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5010
收藏 人收藏

    評論

    相關(guān)推薦

    請教:怎樣把FPGA的數(shù)據(jù)送給Matlab畫圖

    請教:怎樣把FPGA的數(shù)據(jù)送給Matlab畫圖
    發(fā)表于 10-12 22:39

    matlab實例

    matlab實例
    發(fā)表于 01-23 13:58

    matlab 畫圖 坐標(biāo)

    本帖最后由 飛鳥_發(fā)燒友 于 2013-3-31 10:22 編輯 求問 matlab這樣的坐標(biāo)畫圖怎么實現(xiàn),在第四象限,縱軸為變量,橫軸為因變量。見附圖。將不勝感激。
    發(fā)表于 03-31 10:21

    matlab 畫圖

    我想使用matlab從文件中讀取數(shù)據(jù),并將數(shù)據(jù)進(jìn)行畫圖。我是菜鳥剛接觸matlab,希望高手指點一下,如果有例程更好。謝謝!
    發(fā)表于 07-16 20:54

    MATLAB中畫柱狀

    論文中需要畫圖進(jìn)行比較,感覺還是matlab畫起來比較方便,先把自己畫的matlab代碼放上。y=[300 311;390 425; 312 321; 250 185; 550 5
    發(fā)表于 08-17 07:58

    matlab頻譜分析實例

    matlab頻譜分析實例: A method to implement the spectrogram analysis and display of signals using Matlab
    發(fā)表于 06-18 14:06 ?147次下載

    matlab實例教程下載

    matlab實例教程    本書介紹了MATLAB一般原理和基本運算,重點介紹了MATLAB圖形用戶界面的結(jié)構(gòu)
    發(fā)表于 06-18 14:26 ?620次下載
    <b class='flag-5'>matlab</b><b class='flag-5'>實例</b>教程下載

    MATLAB通信仿真及應(yīng)用實例詳解

    MATLAB通信仿真及應(yīng)用實例詳解:本書著重介紹了MATLAB在通信仿真,尤其是移動通信仿真中的應(yīng)用,通過豐富具體的實例來加深讀者對通信系統(tǒng)仿真的理解和掌握。 全書共分10章,前
    發(fā)表于 02-08 17:22 ?232次下載

    Matlab程序實例

    本文提供Matlab程序實例,希望對你的學(xué)習(xí)有所幫助!
    發(fā)表于 06-03 15:35 ?554次下載

    MATLAB教程_MATLAB仿真_MATLAB軟件下載

    本專題為你詳述MATLAB編程與MATLAB仿真設(shè)計知識。內(nèi)容包括MATLAB入門教程,MATLAB畫圖
    發(fā)表于 10-19 17:44
    <b class='flag-5'>MATLAB</b>教程_<b class='flag-5'>MATLAB</b>仿真_<b class='flag-5'>MATLAB</b>軟件下載

    Matlab繪圖教程(大量實例PPT)

    本教程是對matlab的介紹,以及指導(dǎo)使用matlab進(jìn)行繪制各種曲線圖,包含了matlab所有畫圖的技巧。
    發(fā)表于 12-08 16:16 ?0次下載

    MATLAB數(shù)學(xué)建模算法及實例分析

    MATLAB數(shù)學(xué)建模算法及實例分析,了解MATLAB
    發(fā)表于 01-22 14:06 ?0次下載

    基于MATLAB通信仿真及應(yīng)用實例詳解

    基于MATLAB通信仿真及應(yīng)用實例詳解
    發(fā)表于 09-04 09:01 ?49次下載
    基于<b class='flag-5'>MATLAB</b>通信仿真及應(yīng)用<b class='flag-5'>實例</b>詳解

    matlab畫圖如何坐標(biāo)軸刻度

    Matlab畫圖完成后,只能是由Matlab自身給出的xy進(jìn)行繪制圖形,下面介紹如何修改自動生成的圖形的坐標(biāo)軸的刻度和標(biāo)簽??梢钥吹阶鴺?biāo)軸是自動生成了x軸為-3~3;這里我們稍微放大一下,便于以后大家觀看。
    發(fā)表于 11-01 14:19 ?2.7w次閱讀
    <b class='flag-5'>matlab</b><b class='flag-5'>畫圖</b>如何坐標(biāo)軸刻度

    使用MATLAB進(jìn)行畫圖實例資料免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用MATLAB進(jìn)行畫圖實例資料免費下載。
    發(fā)表于 08-29 17:29 ?16次下載