c++图的创建_MATLAB二维图

MATLAB可以绘制的图(可能不全,请各位小可爱提出,我尽可能完善

~普通二维图 plot

~柱状图

    1)、竖柱状图 

    2)、横柱状图 

    3)、限定柱子宽度的柱状图

    4)、横纵坐标 

    5)、y是个矩阵,此时每一列堆在一块 

    6)、条形分段柱状图 

    7)、指定颜色 

    8)、使用RGB三元组设置条形内部颜色和轮廓颜色。设置条形轮廓的宽度         9)、通过索引到对象数组来更改特定条形图系列的属性。例如,使用b(2)

~饼状图

    1)、X为无份东西中每一份的比例

    2)、通过将相应的分解元素设置为1将其突出显示

    3)、创建一个向量X的饼图并为切片添加标签。

    4)、创建带标签的饼图,然后修改文本标签的颜色和字体大小 

    5)、创建向量X的饼图,其中元素的和小于1

    6)、创建两个数据向量,并在其自己的饼图中绘制和标记每个向量

    7)、使用与类别对应的偏移切片绘制分类饼图

    8)、将explode指定为空数组,就不会有突出显示 

~等高线

    1)、已有x、y、z 

    2)、将峰值函数中得数据存储在矩阵x,y和z中,在z中绘制20个数据等高线  

    3)、设置x、y、z,通过将ShowText属性设置为on,创建等

    4)、创建peaks函数得等高线图,并且在z=1得时候显示一个等高线级别 

    5)设置矩阵X、Y和Z。通过将ShowText属性

~三维等高线

    1)使用meshgrid函数设置矩阵X和Y。绘制矩阵Z的30个等高线

    2)contourc函数 

    3)contourf函数

~箱线图

    1)创建一个表示每加仑英里数测量值的箱线图。添加标题并为坐标区加标签

    2)为分组数据创建箱线图

    3)创建带缺口的箱线图

    4)创建紧凑箱线图

    5)可变长度向量的箱线图

~奈奎斯特图-频率响应的奈奎斯特图

    1)动态系统的奈奎斯特图

    2)建立具有响应不确定性的辨识模型的Nyquist图

~伯德图-频率响应或幅度和相位数据的波德图

    1)动力系统的博德图

    2)在波德指定的绘图频率

    3)用指定的线属性绘制Bode图

~阶梯图 

    1)创建在 0 到区间内的 40 个均匀分布的值处计算的正弦阶梯图

    2)绘制多个数据序列

    3)在指定的 x 值位置绘制单个数据序列

    4)在唯一的 x 值集合处绘制多个数据序列

    5)指定其他样式选项

    6)为阶梯图指定坐标区

    7)创建并修改阶梯图

    8)使用绘图函数创建一个阶梯图-plot

~errorbar含误差条的线图

    1)绘制长度相等的垂直误差条

    2)绘制不同长度的垂直误差条

    3)绘制水平误差条

    4)绘制垂直和水平误差条

    5)绘制不带线条的误差条

    6)控制所有方向上的误差条长度

    7)向每个数据点添加彩色标记

    8)控制误差条端盖大小

    9)创建后修改误差条

~area填充区二维绘图

    1)创建区域图 

    2)指定区域图的颜色和线型

    3)使用颜色图颜色的区域图

~stackedplot具有公共 x 轴的几个变量的堆叠图

    1)绘制时间表变量

    2)指定变量

    3)重新排列变量 

    4)使用一个 Y 轴绘制多个变量

matlab可以绘制的图(可能不全,请各位小可爱提出,我尽可能完善)

clc
clear

普通二维图 plot

figure(1)
plot(1:0.01:20,sin(1:0.01:20));
title ('y=sin(x)')
xlabel('x');
ylabel('y');

186255f3d0e73f516ad1334071bdfa97.png

柱状图

1)、竖柱状图

y=[9,8,3,4];
figure(2)bar(y)
title('竖柱状图')

f24888a75bbf21eabb2eac640050f6c3.png

2)、横柱状图

figure(3)
barh(y)
title('横柱状图')

22ded27927f34f4e99823c75d5c98951.png

3)、限定柱子宽度的柱状图

figure(4)
barh(y,0.5)

fd042ec603bcf501c9188d35b609af57.png

4)、横纵坐标

figure(5)x = 1900:10:2000;
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(x,y)

204dcf852c07918d6654a273880e9a38.png

5)、y是个矩阵,此时每一列堆在一块

figure(6)
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y)

64662c97874e780425e2291e14742ac6.png

6)、条形分段柱状图

figure(7)
y = [2 2 3; 2 5 6; 2 8 9; 2 11 12];
bar(y,'stacked')

c3682190d1bbef63291dc2340e392235.png

7)、指定颜色

figure(8)
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'r')

57f9009a6bcbf4d396f5bacfa6d5b874.png

8)、使用RGB三元组设置条形内部颜色和轮廓颜色。设置条形轮廓的宽度

figure(9)
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y,'FaceColor',[0 .5 .5],'EdgeColor',[0 .9 .9],'LineWidth',4)

816f8dba8897f8af0d1be3f319dba942.png

9)、通过索引到对象数组来更改特定条形图系列的属性。例如,使用b(2)

更改表示y的第二列的条形图的属性。从R2014b开始,可以使用点表示法来设置属性。如果您使用的是早期版本,请使用设置函数instea

figure(10)
y = [2 4 6; 3 4 5];
subplot(2,1,1)
b = bar(y);subplot(2,1,2)
b = bar(y);
b(2).LineWidth = 2;
b(2).EdgeColor = 'red';

9d8ae7e660464c67e2c8bf7556ac5172.png

饼状图

1)、X为无份东西中每一份的比例

figure(11)
X = [1 3 0.5 2.5 2];pie(X)

8084c12d352ed458a8eb2ca39c7b8ff8.png

2)、通过将相应的分解元素设置为1将其突出显示

figure(12)
X = [1 3 0.5 2.5 2];
explode = [0 1 0 1 0];
pie(X,explode)

c80f258613d679dd38472e9f9b70ef15.png

3)、创建一个向量X的饼图并为切片添加标签。

figure(13)
X = 1:3;
labels = {'Taxes','Expenses','Profit'};
pie(X,labels)

4cf6f95f420a56994dc176d4753f816b.png

4)、创建带标签的饼图,然后修改文本标签的颜色和字体大小

figure(14)
X = 1:3;
labels = {'Taxes','Expenses','Profit'};
p = pie(X,labels)% 此时命令行窗口输出:% p =%%   1×6 graphics 数组:%%     Patch    Text     Patch    Text     Patch    Text
t = p(6);
t.BackgroundColor = 'cyan';
t.EdgeColor = 'red';
t.FontSize = 14;

300cabb0b8f78d64105a20ead01743a0.png

5)、创建向量X的饼图,其中元素的和小于1

%其实就是不完整的饼状图
figure(15)
X = [0.19 0.22 0.41];
pie(X)

b3053020f942137f81ef49e673c76590.png

6)、创建两个数据向量,并在其自己的饼图中绘制和标记每个向量

figure(16)
X = [0.2 0.4 0.4];
labels = {'Taxes','Expenses','Profit'};%注意ax的使用,可以省去suplot的框
ax1 = subplot(1,2,1);
pie(ax1,X,labels)
title(ax1,'2012');
Y = [0.24 0.46 0.3];
ax2 = subplot(1,2,2);
pie(ax2,Y,labels)
title(ax2,'2013');

f0ae732ca3a026a9f80e11031bdaf201.png

7)、使用与类别对应的偏移切片绘制分类饼图

如果这句话好好说就是:直接给你未统计数据,直接绘图 结果是已经统计好的数据

figure(17)
X = categorical({'North','North','South','North','East','South','West'});
explode = {'North','South'};
pie(X,explode)

db9daa78143c80a7c6f34aa4ad076ddb.png

8)、将explode指定为空数组,就不会有突出显示

figure(18)
X = categorical({'North','South','North','East','South','West'});
explode = {};
labels = {'E','N','S','W'};
pie(X,explode,labels)

907b3c9c969fd0d8da01fdd947f6a17f.png

、等高线

1)、已有x、y、z

x = linspace(-2*pi,2*pi);
y = linspace(0,4*pi);
[X,Y] = meshgrid(x,y);
Z = sin(X)+cos(Y);
figure(19)
contour(X,Y,Z)

3816b04bc46f1a10cc6043e6093478cf.png

2)、将峰值函数中得数据存储在矩阵x,y和z中,在z中绘制20个数据等高线

figure(20)
[X,Y,Z] = peaks;
figure
contour(X,Y,Z,20)

d35e018ec85a5e38ec490fbc8cb7ad73.png

3)、设置x、y、z,通过将ShowText属性设置为on,创建等

%高线图并且显示等高线标签
figure(21)
x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
figure
contour(X,Y,Z,'ShowText','on')

193349b6ed0a40604efec081a51e1eee.png

4)、创建peaks函数得等高线图,并且在z=1得时候显示一个等高线级别

x = -3:0.125:3;
y = -3:0.125:3;
[X,Y] = meshgrid(x,y);
Z = peaks(X,Y);
v = [1,1];
figure(22)
contour(X,Y,Z,v)

cf1c478428e69abe295eb502c3c0e728.png

5)设置矩阵X、Y和Z。通过将ShowText属性

%设置为on,创建等高线图并显示等高线标签x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
figure(23)
contour(X,Y,Z,'ShowText','on')

193349b6ed0a40604efec081a51e1eee.png

三维等高线

1)使用meshgrid函数设置矩阵X和Y。绘制矩阵Z的30个等高线

figure(24)
x = -2:0.25:2;
[X,Y] = meshgrid(x);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,30)

cf228992a3a382a378b324a7615dc53a.png

2)contourc函数

figure(25)
C = contourc(Z);%从矩阵Z中的数据计算轮廓矩阵,其中Z必须至少是一个2乘2的矩阵。等高线是以Z为%单位的等值线,自动选择等高线的数目和相应的等值线值。
figure(26)
C = contourc(Z,10)%用n个等高线水平计算Z矩阵的等高线
figure(27)
C = contourc(x,x,Z,9)%使用向量x和y计算Z的轮廓,以确定x和y的值。x和y必须单调递增。

3)contourf函数

figure(28)
Z = peaks(20);
contourf(Z,10)%使用peaks函数将z定义为20×20矩阵。用10条等高线创建z的填充等高线图

530cc04207cb26a82f0bda7da6304fed.png

箱线图

1)创建一个表示每加仑英里数 (MPG) 测量值的箱线图。添加标题并为坐标区加标签。

导入matlab系统加载样本数据

figure(29)
load carsmall
boxplot(MPG)
xlabel('All Vehicles')
ylabel('Miles per Gallon (MPG)')
title('Miles per Gallon for All Vehicles')%箱线图显示样本数据中所有车辆的平均每加仑英里数约为24英里。最小值约为9,最大值约为44;

8e94613fa43cbfb05c22b104f7f1a52c.png

2)为分组数据创建箱线图

figure(30)
boxplot(MPG,Origin)
title('Miles per Gallon by Vehicle Origin')
xlabel('Country of Origin')
ylabel('Miles per Gallon (MPG)')%每个框直观地表示来自指定国家的汽车的MPG数据。意大利的“框”显示为单行,因为样本数据仅包含该组的一个观察值

ea2df3fc59fe9c844306d50ddc63c400.png

3)创建带缺口的箱线图

%生成两组样本数据。第一个样本 x1 包含从 mu = 5 和 sigma = 1 的正态分布生成的随机数。%第二个样本 x2 包含从 mu = 6 和 sigma = 1 的正态分布生成的随机数。
figure(31)
rng default  % For reproducibility
x1 = normrnd(5,1,100,1);
x2 = normrnd(6,1,100,1);%创建 x1 和 x2 的带缺口的箱线图。用对应的 mu 值对每个箱子加标签。
boxplot([x1,x2],'Notch','on','Labels',{'mu = 5','mu = 6'})
title('Compare Random Data from Different Distributions')%箱线图显示两个组的中位数之间的差值约为 1。由于箱线图中的缺口不重叠,可以有 95% 的置信度%认为真实的中位数不同。下图显示了相同数据的箱线图,其中最大须线长度指定为四分位%差的 1.0 倍。须线以外的数据点使用 + 显示。
figure(32)
boxplot([x1,x2],'Notch','on','Labels',{'mu = 5','mu = 6'},'Whisker',1)
title('Compare Random Data from Different Distributions')

58b9200d685d960da47d794c096aebf8.png

121546d46ec9396d72a71c34c18e66a1.png

4)创建紧凑箱线图

%创建从标准正态分布生成的一个 100×25 随机数矩阵,用作样本数据
rng default  % For reproducibility
x = randn(100,25);%在同一图上为 x 中的数据创建两个箱线图。顶部图使用默认格式,底部图使用紧凑格式。
figure(33)
subplot(2,1,1)
boxplot(x)
subplot(2,1,2)
boxplot(x,'PlotStyle','compact')

c08d9d68ed367a995692955d54ea6e26.png

5)可变长度向量的箱线图

%通过使用分组变量为不同长度的数据向量创建箱线图。%随机生成三个不同长度的列向量:长度分别为 5、10 和 15。%将数据合并为一个长度为 30 的列向量。
rng('default')  % For reproducibility
x1 = rand(5,1);
x2 = rand(10,1);
x3 = rand(15,1);
x = [x1; x2; x3];%创建一个分组变量,将同一值赋给 x 中来自于同一向量的行。例如,%g 的前五行具有相同的值 First,因为 x 的前五行都来自同一个向量 x1。
g1 = repmat({'First'},5,1);
g2 = repmat({'Second'},10,1);
g3 = repmat({'Third'},15,1);
g = [g1; g2; g3];%创建箱线图
figure(34)
boxplot(x,g)%%对箱线图也可也像二维图进行设置

a3015fb606f2fd6267465511dce0c7de.png

奈奎斯特图-频率响应的奈奎斯特图

1)动态系统的奈奎斯特图

%H(s)=分子/分母%分子=2s^2+5s+1%分母=s^2+2s+3
figure(35)
H = tf([2 5 1],[1 2 3]);
nyquist(H)

90242b5fb9f3a57056d097047a068f6b.png

2)建立具有响应不确定性的辨识模型的Nyquist图

load iddata2 z2;%使用数据确定传递函数模型
sys_p = tfest(z2,2);%获得512个频率组的频率响应实部和虚部的标准偏差,w。
w = linspace(-10*pi,10*pi,512);
[re,im,wout,sdre,sdim] = nyquist(sys_p,w);%这里re和im是频率响应的实部和虚部,sdre和sdim分别是它们的标准差。%wout中的频率与您在w中指定的频率相同。%创建一个显示响应及其3σ不确定度的Nyquist图。
figure(36)
re = squeeze(re);
im = squeeze(im);
sdre = squeeze(sdre);
sdim = squeeze(sdim);
plot(re,im,'b',re+3*sdre,im+3*sdim,'k:',re-3*sdre,im-3*sdim,'k:')
xlabel('Real Axis');
ylabel('Imaginary Axis');

31bdc785ca73693270666708202a2b20.png

伯德图-频率响应或幅度和相位数据的波德图

1)动力系统的博德图

%创建以下连续时间SISO动态系统的Bode图%H(s)=分子/分母%分子=s^2+0.1s+7.5%分母=s^4+0.12s^3+9s^2
figure(37)
H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
bode(H)

7d06cc7db6728ca2e26662bcd56047fb.png

2)在波德指定的绘图频率

%在指定的频率范围内创建波特图。当你想关注特定频率范围内的动力学时,可以使用这种方法。
figure(38)
H = tf([-0.1,-2.4,-181,-1950],[1,3.3,990,2600]);
bode(H,{1,100})
grid on%单元数组{1100}指定Bode图中的最小和最大频率值。以这种方式提供频率边界时,%函数将为频率响应数据选择中间点。
figure(39)%或者,指定用于评估和绘制频率响应的频率点向量。
w = [1 5 10 15 20 23 31 40 44 50 85 100];
bode(H,w,'.-')
grid on

523eae9531967b6d017162183390408e.png

c7c684fc6c942cbf30b4a45abfa68090.png

3)用指定的线属性绘制Bode图

%使用LineSpec输入参数为Bode打印中的每个系统指定线型、颜色或标记
figure(40)
H = tf([1 0.1 7.5],[1 0.12 9 0 0]);
Hd = c2d(H,0.5,'zoh');
bode(H,'r',Hd,'b--')%第一行规范“r”为H的响应指定一条实心红线。第二行规范“b--”为Hd的响应指定蓝色虚线

6d30d8612ee8b0eac7dad0233de6ab56.png

阶梯图

1)创建在 0 到区间内的 40 个均匀分布的值处计算的正弦阶梯图。

X = linspace(0,4*pi,40);
Y = sin(X);
figure(41)
stairs(Y)

02b9abb7cda3a83cf9db75c25621c7c7.png

2)绘制多个数据序列

%创建在 0 到 4π 区间内的 50 个均匀分布的值处计算的两个余弦函数阶梯图。
X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
figure(42)
stairs(Y)

1ac4d6d6d067c9f47d19aacec0c24c01.png

3)在指定的 x 值位置绘制单个数据序列

%创建在 0 到 4π 区间内均匀分布的值处计算的正弦波阶梯图。指定该图的 x 值集。
X = linspace(0,4*pi,40);
Y = sin(X);
figure(43)
stairs(X,Y)

d17b772dfc4787e346d38f0fde88e004.png

4)在唯一的 x 值集合处绘制多个数据序列

%创建一个阶梯图,将线型设置为点划线,将标记符号设置为圆,将颜色设置为红色
X = linspace(0,4*pi,20);
Y = sin(X);
figure(44)
stairs(Y, '-.or')

7cf6f30283a36d023aaadd7f2d709dca.png

5)指定其他样式选项

%使用 Name,Value 对组参数创建一个阶梯图并将线宽设置为 2,将标记符号设置为菱形,%并将标记面颜色设置为青色。
X = linspace(0,4*pi,20);
Y = sin(X);
figure(45)
stairs(Y,'LineWidth',2,'Marker','d','MarkerFaceColor','c')

868a0ec27e94c5bfd64131759df13ecb.png

6)为阶梯图指定坐标区

%从 R2019b 开始,您可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout%函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。%通过将坐标区对象指定为 stairs 的第一个参数,在坐标区中创建单独的阶梯图。
figure(46)
x = linspace(0,2*pi);
y1 = 5*sin(x);
y2 = sin(5*x);
tiledlayout(2,1)% Top plot
ax1 = nexttile;
stairs(ax1,x,y1)% Bottom plot
ax2 = nexttile;
stairs(ax2,x,y2)

e9d8cdefbd68e730d8d9cc22faf6348b.png

7)创建并修改阶梯图

%创建两个数据序列的阶梯图并返回两个阶梯图对象。
figure(47)
X = linspace(0,1,30)';
Y = [cos(10*X), exp(X).*sin(10*X)];
h = stairs(X,Y);%对第一个数据序列使用小圆形标记。对第二个序列使用填充品红色的圆形。%使用圆点表示法设置属性。
h(1).Marker = 'o';
h(1).MarkerSize = 4;
h(2).Marker = 'o';
h(2).MarkerFaceColor = 'm';

cce3e780120075d99dc860a9f77c438c.png

8)使用绘图函数创建一个阶梯图-plot

%在 0 和 4π 区间内的 50 个均匀分布的值处计算两个余弦函数并使用 plot 创建一个阶梯图
X = linspace(0,4*pi,50)';
Y = [0.5*cos(X), 2*cos(X)];
[xb,yb] = stairs(X,Y);
figure(48)
plot(xb,yb)

d73d0e77d9e5c7dfb3c08a82611c9357.png

errorbar含误差条的线图

1)绘制长度相等的垂直误差条

%创建向量 x 和 y。绘制 y 对 x 的图。在每个数据点处,显示长度相等的垂直误差条
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
figure(49)
err = 8*ones(size(y));
errorbar(x,y,err)

49068a382a401344d2b203765ef5a055.png

2)绘制不同长度的垂直误差条

%在每个数据点处创建带误差条的线图。改变误差条的长度
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
err = [5 8 2 9 3 3 8 3 9 3];
figure(50)
errorbar(x,y,err)

e55a3424b3cb1c33c7777ce29b5bfde1.png

3)绘制水平误差条

%在每个数据点处创建带水平误差条的线图。
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
err = [1 3 5 3 5 3 6 4 3 3];
figure(51)
errorbar(x,y,err,'horizontal')

1345b4b992e74a05ec43056ed129d142.png

4)绘制垂直和水平误差条

%在每个数据点处创建带垂直和水平误差条的线图
figure(52)
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
err = [4 3 5 3 5 3 6 4 3 3];
errorbar(x,y,err,'both')

e8ab7e5210079208fc897ef883481786.png

5)绘制不带线条的误差条

%绘制向量 y 对 x 的图。在每个数据点处显示一个圆形标记以及垂直和水平误差条。%通过省略 linespec 输入参数的线型选项,不显示连接数据点的线。
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
err = [4 3 5 3 5 3 6 4 3 3];
figure(53)errorbar(x,y,err,'both','o')

1bd62dac5142473b57b30dd0c4e1e8d0.png

6)控制所有方向上的误差条长度

%在每个数据点处显示垂直和水平误差条。使用 yneg 和 ypos 输入参数选项分别控制垂直误差条下部和上部的长度。%使用 xneg 和 xpos 输入参数选项分别控制水平误差条左侧和右侧的长度。
x = 1:10:100;
y = [20 30 45 40 60 65 80 75 95 90];
yneg = [1 3 5 3 5 3 6 4 3 3];
ypos = [2 5 3 5 2 5 2 2 5 5];
xneg = [1 3 5 3 5 3 6 4 3 3];
xpos = [2 5 3 5 2 5 2 2 5 5];
figure(54)
errorbar(x,y,yneg,ypos,xneg,xpos,'o')

6d565a5abbf5e30e1bed7008b0c0226b.png

7)向每个数据点添加彩色标记

%创建带误差条的线图。在每个数据点处显示标记。使用名称-值对组参数控制标记的外观。使用 MarkerSize 以磅为单位指%定标记大小。使用 MarkerEdgeColor 和 MarkerFaceColor 分别指定标记轮廓和内部颜色。%将颜色设置为颜色名称字符向量(例如 'red')或 RGB 三元组
x = linspace(0,10,15);
y = sin(x/2);
err = 0.3*ones(size(y));
figure(55)
errorbar(x,y,err,'-s','MarkerSize',10,...    'MarkerEdgeColor','red','MarkerFaceColor','red')

c369d8c96c0999308bf007fb87189a89.png

8)控制误差条端盖大小

%通过将 CapSize 属性设置为以磅为单位的正值,控制每个误差条末端的端盖大小。
x = linspace(0,2,15);
y = exp(x);
err = 0.3*ones(size(y));figure(56)
errorbar(x,y,err,'CapSize',18)

eb3236938c4e1db78d774242c413a90d.png

9)创建后修改误差条

%创建带误差条的线图。将误差条对象赋给变量 e
x = linspace(0,10,10);
y = sin(x/2);
err = 0.3*ones(size(y));
figure(57)
e = errorbar(x,y,err)
e.Marker = '*';
e.MarkerSize = 10;
e.Color = 'red';
e.CapSize = 15;

74eced47235e1e67b9c7ae3902284f06.png

area填充区二维绘图

1)创建区域图

%默认情况下,area 使用 y 轴作为基值。通过将 basevalue 输入参数设置为 -4 改变基值
Y = [1, 5, 3;     3, 2, 7;     1, 5, 3;     2, 6, 1];
figure(58)
basevalue = -4;
area(Y,basevalue)

1c53601268fa3169ade0b1b671806de1.png

2)指定区域图的颜色和线型

%创建 Y 区域图,并使用点线样式。%返回数组 h 中的三个区域对象。area 函数为 Y 中的每列创建一个区域对象。
Y = [1, 5, 3;     3, 2, 7;     1, 5, 3;     2, 6, 1];
figure(59)
h = area(Y,'LineStyle',':');%使用 RGB 三元组颜色值更改区域颜色。使用圆点表示法设置属性
h(1).FaceColor = [0 0.25 0.25];
h(2).FaceColor = [0 0.5 0.5];
h(3).FaceColor = [0 0.75 0.75];

c0e74dfd546df95fe3273e92385e04f8.png

3)使用颜色图颜色的区域图

%通过将 FaceColor 属性设置为 'flat',创建一个使用颜色图颜色的区域图
y = [1 3 5; 3 2 7; 3 4 2];
figure(60)
area(y,'FaceColor','flat')%注意:如果 Y 包含 NaN 值,则 area 函数会在缺失值附近的区域断开绘图。

f9af26b173ebe0c90d080eeed928834c.png

stackedplot具有公共 x 轴的几个变量的堆叠

1)绘制时间表变量

%将电子表格中的数据读取到一个表中。然后将该表转换为时间表。包含日期和时间%的第一个变量 OutageTime 提供时间表的行时间。显示前五行。
figure(61)
tbl = readtable('outages.csv');
tbl = table2timetable(tbl);
head(tbl,5);% % ans=5×5 timetable% %        OutageTime          Region         Loss     Customers     RestorationTime            Cause% %     ________________    _____________    ______    __________    ________________    ___________________% %% %     2002-02-01 12:18    {'SouthWest'}    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }% %     2003-01-23 00:49    {'SouthEast'}    530.14    2.1204e+05                 NaT    {'winter storm'   }% %     2003-02-07 21:15    {'SouthEast'}     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }% %     2004-04-06 05:44    {'West'     }    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}% %     2002-03-16 06:18    {'MidWest'  }    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }%对时间表进行排序,使其行时间按顺序排列。时间表的行时间不需要按顺序排列。但是,%如果将行时间用作绘图的 x 轴,则最好确保时间表按行时间排序。
tbl = sortrows(tbl);
head(tbl,5);
stackedplot(tbl)

795fe1135e112548e099fa779137da19.png

2)指定变量

%根据患者数据创建一个表。显示前三行。
figure(62)
tbl = readtable('patients.xls');
head(tbl,3);%仅绘制表中的四个变量。
stackedplot(tbl,{'Height','Weight','Systolic','Diastolic'})

36b82b7ce77b0b78b760eea69669e960.png

3)重新排列变量

%创建一个时间表并显示其前三行
tbl = readtable('outages.csv');
tbl = table2timetable(tbl);
tbl = sortrows(tbl);
head(tbl,3);
figure(63)%通过以与表中的顺序不同的顺序指定变量,对变量重新排序。%例如,RestorationTime 是时间表中可以绘制的最后一个变量。默认情况下,stackedplot%将其放置在绘图的底部。但是,您可以对变量重新排序以将 RestorationTime 放在顶部。
stackedplot(tbl,{'RestorationTime','Loss','Customers'})

d79df4b5c0b8bed1afe4806bcd3c9ce4.png

4)使用一个 Y 轴绘制多个变量

%使用 Weight、Systolic 和 Diastolic 变量基于患者数据的子集创建一个表
load patients
tbl = table(Weight,Systolic,Diastolic);
head(tbl,3)
figure(64)
vars = {{'Systolic','Diastolic'},'Weight'}
stackedplot(tbl,vars)

b2cbc2f9219c9b3365d5b58e7eebed71.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值