MATLAB之进阶画图

进阶绘图

1.linspace logspace
linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。
logspace(a,b,n),创建行向量,第一个是10^a,最后一个10^b,形成总数为n个元素的等比数列。
​
2.semilog:半对数坐标系一个轴是分度均匀的普通坐标轴,另一个轴是分度不均匀的对数坐标轴。
semilogx, semilogy, loglog,即后标为x的是在x轴取对数,为y的是y轴坐标取对数。loglog是x,y轴都取对数。
>>  x = logspace(-1,1,100); 
    y = x.^2;
    subplot(2,2,1); 
    plot(x,y); 
    title('Plot');
    subplot(2,2,2); 
    semilogx(x,y); 
    title('Semilogx');
    subplot(2,2,3); 
    semilogy(x,y); 
    title('Semilogy');
    subplot(2,2,4); 
    loglog(x, y); 
    title('Loglog'); 
    set(gca,'XGrid','on');
​
3.plotyy(x,y1,x,y2)-在同一张图上,用两个y轴绘制两个图像。
>>  x = linspace(0,100);
    y1 = x.^2;
    y2 = x.^3;
    plot(x,y1,x,y2)
     
4.histogram(x,num)--直方图,num表示需要几个直方块
>>  x = randn(1,10000);
    y = randn(10000,1);
    subplot(1,2,1);histogram(x,2);
    subplot(1,2,2);histogram(y,20);
​
5.bar绘制直方图--bar,bar3,barh和bar3h,
  bar(x,y),x的长度必须和y的行数是一样的,x 必须单调递增或递减。
  >> x = [1; 2];
     y = [1 2 5 4 8; 1 2 3 4 5]
     bar(x,y)
​
  bar(x) 
  >> x = [1 2 5 4 8]; y = [x;1:5];
     subplot(1,5,1); bar(x); 
     subplot(1,5,2); bar(y); 
     subplot(1,5,3); bar3(y);
     subplot(1,5,4); barh(y);
     subplot(1,5,5); bar3h(y);
​
6.pie(x,z,label)--饼图(会自动算出x中数所占的比列,并显示出来)z列表中值为1则代表该部分分离出来,label表示给每个部分填上备注,这时就会不显示百分比
>>  a = [10 5 20 30];
    label={'1', '2', '3', '4'}
    subplot(2, 2, 1);pie(a,label);
    subplot(2, 2, 2);pie(a,[1,1,1,1],label);
    subplot(2, 2, 3);pie3(a,label);
    subplot(2, 2, 4);pie3(a,[1 ,1, 1, 1],label);
    
    
7.stairs和stem--阶梯图,柱图
>>  x = linspace(0,4*pi,40);
    y = sin(x);
    subplot(1,2,1);stairs(y);
    subplot(1,2,2);stem(y);
    
8.errorbar(x,y,e)---对于每个点给出误差的范围
>>  x = 0:pi/10:pi;
>>  y = sin(x);
>>  e = std(y)*ones(size(x));
>>  errorbar(x,y,e);
​
​
9.fill()---重要的是找到每一个角对应的角度
>>  t =(0:4:15)*pi/8; x = sin(t); y = cos(t);
    fill(y,x,'y'); axis square off;
    text(0,0,'WAIT','Color', 'k', 'FontSize', 80, ...
    'FontWeight','bold', 'HorizontalAlignment', 'center');
​
10.plot3(x,y,z)--画出三维图
​
​

你可能感兴趣的:(MATLAB之进阶画图)