在MATLAB線圖中,一共有3種類型,分別是
線圖,包括:plot,plot3,stairs,errorbar,area,stackedplot函數。
對數圖,包括:loglog,semilogx和semilogx函數,。
函數圖,包括:fplot,fimplicit和fplot3函數,感覺和ezplot很像,參見
stackedplot函數專門用來繪製堆疊圖,意思是一組數據擁有共同x軸,而y軸數據不同。在科研中相對於其他類型圖,雖然不常常出現,但偶爾能用到。
注意,注意,注意,stackedplot函數在2018版本以下是沒有的,只有2018版本及以上才有。
1 堆疊圖stackedplot函數1.1 用法
stackedplot(tbl)
stackedplot(tbl,vars)
stackedplot(___,'XVariable',xvar)
stackedplot(X,Y)
stackedplot(Y)
stackedplot(___,LineSpec)
stackedplot(___,Name,Value)
stackedplot(parent,___)
s = stackedplot(___)
1.2 示例1
clcclear allclose allx = [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
這裡我們可以通過句柄對圖形進行更改。
堆疊圖有很多屬性,包括:
例如,可以對x軸和y軸添加名稱。其他屬性類似,直接指定即可。設定時,注意數據類型。
clcclear allclose allx = [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
在堆疊圖的屬性設置時,注意,注意,注意,是對整個圖進行更改,例如,如果將線型改成虛線,那麼三個圖都會被改成虛線。
但是,MATLAB也提供了每個圖的屬性操作,可通過整體屬性中的h.LineProperties進行設置,對於每個小的圖形,h.LineProperties下設屬性有顏色、線型、線寬、點大小、圖類型等等,如下
Color,可以為傳統方法,例如『r』,'b',可以設置RGB三色,如[0.5, 0.5, 0.5]MarkerFaceColorMarkerEdgeColorLineStyle,設置為無時,要用『none』命令LineWidthMarkerMarkerSizePlotType,這裡只能設置為plot,scatter和stairs函數,不能為其他類型示例如下
clcclear allclose allx = [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;這裡,
第一個圖顏色改成藍色,線寬設為1.5;
第二個圖線設置為無,點改為圈,點大小設為8;
第三個圖線型設置為階梯圖,顏色設為黑色,線寬為1.5;