MATLAB--绘图3

%% pie(x)    饼图
% x=[0.1 0.2 0.4];%小于1
% pie(x)      下图一
%% 大于一
x=[3 6 7]
di=[0 0 1]%di=zeros(1,length(x));di(3)=1;

label={'第一产业','第二产业','第三产业'}
p=pie(x,di)%p=Patch    Text     Patch    Text     Patch    Text              
pp=findobj(p,'Type','Text')
pp(1).String=[label(1),pp(1).String];
pp(2).String=[label(2),pp(2).String];
pp(3).String=[label(3),pp(3).String];
t=p(1)
t.FaceColor=[0.5 0.3 0.6] 
t.EdgeColor='red'                        

%% 多图
close
ax1=subplot(1,2,1)
x=[3 6 7];
x1=[3 5 12];
pie(ax1,x)
ax2=subplot(1,2,2)
pie(ax2,x1)
title(ax1,'中国三产比例')
title(ax2,'美国三产比例')         下图一
%% pie3(x)
p1=pie3(x) %p1=Patch   Surface   Patch   Text    Patch    Surface    Patch   Text    Patch   Surface   Patch    Text   下图二

  

%% errorbar 误差图
% Y=[4 2 6 3]
% e=[0.1 0.2 0.3 0.2]
% errorbar(Y,e)%用线连接   下图一
% errorbar(Y,e,'*')%不用线连接,用*点   下图二
%% 
x=0:0.1:2*pi;
y=sin(x);
e=unifrnd(0.01,0.06,1,length(x));%无法确定每个点的误差,用均匀分布随机unifrnd函数,误差范围是【0.01 0.06】,1行length(x)列
% errorbar(x,y,e) %默认误差的上下限相同,默认为竖直误差  下图三
v1=unifrnd(0.01,0.06,1,length(x));
v2=unifrnd(0.01,0.02,1,length(x));
% errorbar(x,y,v1,v2)%误差的上下限不同   下图四
%errorbar(x,y,v1,v2,v1,v2)%水平竖直均有误差,写两默认为竖直误差,无此种用法
%errorbar(x,y,e,'horizontal')%无水平误差的用法

%% 柱状图 二维直方图hist

x=[0 5 6 8 9 2 4 1 0 1 2 5 7 5 4 9 7 4 1 2 6 8 10];
[c,c1]=hist(x)%默认等分10份,c为第一个去区间的个数,c1为为每个区间的中心值        下图一  
% hist(x,20)%等分20份        下图二
% x1=0:0.5:10;
% hist(x,x1)%用x1分割的方式

%x=randn(1000000,1)%生成一个m*n的随机项矩阵
% hist(x,800)    下图三
hist(x)%这里无法直接使用句柄      
h=findobj(gca,'Type','Patch');
h.EdgeColor='red';
h.FaceColor='green';            下图四

%% stem(y)
%y可以是一个向量
y=[8 5 2 3 7 4];
stem(y)
axis([-1 8 0 10])
%y可以是一个矩阵
close
%y=[1 2;3 6;8 9;7 8];%四行
x=(0:0.2:2*pi)';%这为行向量,需转成列向量
y=[cos(x),sin(x)]
stem(y)    下图一
%% stem(x,y)  xia
close
%x,y都是向量
% x=0:0.2:2*pi;%这种用法可能取不到2*pi,用linspace代替
x=linspace(0,2*pi,100)
y=cos(x)
h1=stem(x,y)
h1.BaseValue=0.5
h1.BaseLine.BaseValue=0;

%x是向量,y是矩阵
% x=(0:0.2:2*pi)';%这为行向量,需转成列向量
% y=[cos(x),sin(x)]
% stem(x,y)
%stem(x,y,'filled')     下图二
h=stem(x,y,'d:','filled')    
%基准线
% h(1).BaseValue=0.5       下图三


%% stem3(z)
%z是行向量
z=[1 2 3 6 5 7];%在y等于1出画图
stem3(z);             下图一
%z是列向量
z=[1 2 3 6 5 7]';%在x等于1出画图
stem3(z);            下图二


%stem3(x,y,z)
close
t=0:0.1:2*pi;
x=cos(t)
y=sin(t);
z=x.*y;
h=stem3(x,y,z)         
% h.BaseValue=0.5

%% 阶梯图 stairs
%stairs(y)
y=[1 2 3 5 2 6];
stairs(y)   下图一
close
%y是一个矩阵,每一列对应一个阶梯图象
x=0:0.2:2*pi;
y=[cos(x)',sin(x)',(x.^2)'];
stairs(y);
%stairs(x,y)
x=0:0.2:2*pi;
y=[cos(x)',sin(x)',(x.^2)'];
h=stairs(x,y);%可使用句柄改变图形形式        下图二


%% scatter 散点图
%scatter(x,y)
close
x=linspace(0,2*pi,50);
y=sin(x)+0.1*rand(1,length(x));
% scatter(x,y,20,'filled')%此处20为改变圆形的大小,默认值为36
sz=unifrnd(20,70,1,length(x));%均匀分布改变原点的大小
%scatter(x,y,sz,'filled','r');   下图一
c=linspace(1,10,length(x));
colormap('autumn');
scatter(x,y,sz,c,'filled');    下图二
h=colormap;%查看色图,默认为jet色图          下图三
%scatter3(x,y,z)

猜你喜欢

转载自blog.csdn.net/weixin_42107106/article/details/82924369