MATLAB(图形展示)

MATLAB(图形展示)

标签(空格分隔): 数据分析


###知识点一 线是由连续的点组成

在画板中画一个圆圈

clc
clear
figure;
plot(10,10,'o','MarkerSize',20)

结果如下图所示:
image_1culofrno1j2n1vng1ae55m91roi2s.png-28.4kB

画出一组点

特殊符号的含义
image_1culomep23sf1ng6la91m3i12mv6p.png-38.2kB

 clc
 clear
 X1 = 1:20;
 Y1 = [[1:10],[10:-1:1]];%注意Y1需要和X1数量保持一致;
 figure(1)
 plot(X1,Y1,'rv','MarkerSize',10)%红色倒三角,字号是10
 figure(2)
 X2 = 1:20;
 Y2 = log(X2);
 plot(X2,Y2,'x','MarkerSize',15)%画出一组‘x’的点

结果如下图所示:
图一
image_1culohm2g1uqc8fg1g5ger34fr3f.png-50.4kB

图二
image_1culojf66fel1luaj1sp951rqc4s.png-50.5kB

用线把点连接在一起

X1 = (0:12)*pi/6;Y1 = cos(3*X1);X2 = (0:36)*pi/18;Y2 = sin(X2);
figure
subplot(3,2,1)
plot(X1,Y1,'ro','MarkerSize',10)%r表示红色,o表示圆圈
xlim([0,2*pi]);%限定x轴的范围
subplot(3,2,2)
plot(X1,Y1,'b-','LineWidth',2)%'-'表示点划线
xlim([0,2*pi]);
subplot(3,2,3)
plot(X2,Y2,'ro','MarkerSize',10)%MarkerSize表示画点'
xlim([0,2*pi]);
subplot(3,2,5)
plot(X2,Y2,'b-','LineWidth',2)%LineWidth表示画线
xlim([0,2*pi]);

结果如下图所示:(上文程序得出的结果)
image_1culo243qpb79hte0s1jkdng519.png-99.8kB

如果把上文程序中36改成3600,结果会如下图所示:
image_1culoqfu2tcm16971ns81b7v14rv29.png-98.2kB

可以看出红色的线发生了明显的变化,圆圈的效果减弱,

输出图片的美化操作(添加栅格、名称、图例等)

 clc
 clear
 x = -pi/2:0.01:pi/2;
 y = x+sin(x)+exp(x);
 figure
 plot(x,y,'ro')
 grid on;%添加栅格,on表示开,off表示关
 title('这是图像的标题')
 xlabel('x轴的标签')
 ylabel('y轴')
 legend('y=x+sinx+e^{x}')%此处的字符串使用的LaTex语法,是一种数学公  式描述的语法

结果如下图所示
image_1culp7ki21ei312el1s9htb71nks9.png-86.2kB

###知识点二 plot函数

image_1culppldr4d81ga921pktb1dts9.png-36.9kB

X = -10:10; Y = X.^2;%.^表示按元素进行计算
figure;
subplot(1,2,1)
plot(X,Y,'LineWidth',2)
subplot(1,2,2)
plot(Y,'ro-','LineWidth',2)
%xlim([1,length(Y)]);
grid on 

结果如下图所示
image_1culpvms0kb0128roftrje18hom.png-113.9kB

X = -10:10; Y = X.^2;%.^表示按元素进行计算
figure;
subplot(1,2,1)
plot(X,Y,'LineWidth',2)
subplot(1,2,2)
plot(Y,'ro-','LineWidth',2)
xlim([1,length(Y)]);
grid on 

结果如下图所示:
image_1culq885lu3i1sip1nue1g9go1h23.png-123.4kB

可以发现在对x轴进行限制以后,图形的显示位置发生了移动,更加美观。

image_1culqdsvdgpf1rsl27fskr1qbt2g.png-37.5kB

clc
clear
A1 = ones(3);
A1(1,2)=2;
A1(1,3)=3
figure
subplot(1,3,1)
plot(A1,'o-')
ylim([0,3])
A2 = eye(3)
subplot(1,3,2)
plot(A2)
A3 = magic(3)
subplot(1,3,3)
plot(A3)
A4 = magic(20)
figure(2)
plot(A4) 

结果如下图所示
图一
image_1culquqaiss97dq1gdl1gfj1vdj3t.png-126.5kB
图二
image_1culr0bsd1f7e1fvg14s81i9t159p4a.png-173.3kB

image_1culr5eut18id1n4dvpsk3l1cq64n.png-18.7kB

clear
x = linspace(-2*pi,2*pi,200);%等间距数组,默认100个,这里给的是200个
y1 = sin(x);
y2 = cos(x);
y3 = log(abs(x));
figure;
plot(x,y1,x,y2,x,y3)%可以在同一画布上出现三条线
figure(2);
plot(x,y1);
hold on;%停顿一下
pause(5)%5s后在画布中出现另一条红色的线
plot(x,y2,'r--')

结果如下图所示:
图一
image_1culrfi5nj4mcbr1ufb1u83n3p54.png-87.3kB
图二
image_1culrhfsp1kts1o0t1ep3vov14ps5h.png-125.4kB
###知识点三 bar函数
bar函数用于绘制二维垂直条形图,用垂直条形图显示向量或矩阵中的值

y=2:rand():8;%定义向量为0-8,步进为0-1之间的随机数
figure
bar(y)
grid on

结果如下图所示:
image_1culs0brvdu278n1m9p1t3t1ff55u.png-53.6kB
bar函数还可用于绘制矩阵,常用于多因素参照显示

clc
clear
for i =1:15
    for j =1:3
        A(i,j)=i+j;%A是一个3列15行的数组
    end
end
A
figure;
subplot(1,2,1);bar(A);legend('city1','city2','city3')%图例中的个数需要和列数相等
subplot(1,2,2),bar(A,'stacked');legend('city1','city2','city3')%stacked可以用来显示三列的占比数值情况
figure(2);
barh(A)%绘制bar函数水平直方图

结果如下图所示:
图一
image_1culsfav61hjl1202uf315nk1v6d6b.png-84.3kB
图二
image_1culshcf61l1ef6ma61180o1avk78.png-58.4kB
一般当行数比较多的情况下,可以用水平直方图进行展示,方便查看。
###知识点四 pie函数
pie函数为饼图显示

clc
clear
x = [rand(),rand(),rand(),rand()];
ex =[0,1,0,1];%ex[]中数值为1的需要进行突出显示
labels = {'A','B','C','D'};%设置标签为A、B、C、D,逆时针给出标签
figure(1)
subplot(1,2,1)
pie(x,labels)
subplot(1,2,2)
pie(x,ex)

结果如下图所示:
image_1cult50qg15jijj51f9n1ct0q9r7l.png-67.9kB
###知识点五 hist函数
hist用于绘制二维条形直方图,该函数能够具有返回值,返回每一个条形中元素的个数

Y = [1, 2, 2, 5, 6, 6, 8, 11];
figure(1);
subplot(1,2,1); hist(Y); %默认放入10个条形中
subplot(1,2,2); hist(Y,5);
figure(2);
n=hist(Y)

详情请看下面的解释:
image_1cultg96c8l313ptgtt1s4t1ak58i.png-178.1kB
结果如下图所示:
image_1cultr6n81ot8j5uslk15jk1guk8v.png-37.1kB
n的值是:n =
3 0 0 1 2 0 1 0 0 1

r=randn(1,5000);  %获取5000个随机数向量
x=-4:0.01:4;  %定义x轴区间,length(x)为条形数量,
figure;
hist(r,x);

结果如下图所示:
image_1culu1ltu197v1u2j1mbr17so19ci9c.png-58.8kB
可以发现最终的结果比较类似于正态分布或高斯分布
###知识点六 scatter函数
scatter函数用于绘制散点图

x=randn(1,50);  %定义x轴,注意数量和y轴一致。
y=3.14*x.^2+28+rand()*10;%randn(1,50);  %定义y轴
figure(1);
scatter(x,y);

结果如下图所示:
image_1culu92uk1s901lh7ds61ejv1qun9p.png-42.9kB

猜你喜欢

转载自blog.csdn.net/weixin_43816210/article/details/85006643
今日推荐