matlib画图基本用法(1)

MATLAB基本绘图用法

1.plot的基本用法

# 绘制基本像素点(x, y)的坐标
plot(x, y);
# 如果只给定y的坐标,那么x轴将会按x=[1,2,3,...]分布
plot(y);
# 将两个图像画在一张图上
hold on
plot(cos(0:pi/20:pi));
plot(sin(0:pi/20:pi));
hold off
# 画出不同风格的线段
plot(cos(0:pi/20:pi), 'or--');
plot(sin(0:pi/20:pi), 'xg');

2.legend() 图例

legend('cos(x)', 'sin(x)');

3.加标题,坐标轴

# 为图加标题
title('Functioin Plots');
# 为图加x轴
xlabel('t = 0 to 2/pi');
# 为图加y轴
ylabel('values of sin(t) and e^{-x}')

4.在图上写文字和画箭头

# 在图上书写文字
text()
# 在图上画一个箭头
annotation()

x = linspace(0,3);
y = x.^2.*sin(x);
plot(x, y);
line([2,2], [0, 2^2*sin(2)]);
str = '$$ \int_{0}^{2} x^2\sin(x) ds $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow', 'X',[0.32,0.5], 'Y',[0.6,0.4]);

5.修改图形的参数

# 获取图像的参数
x = linspace(0, 2*pi, 1000);
y = sin(x);
plot(x,y);
h = plot(x, y);
get(h);

# 结果为:
           DisplayName: ''
        Annotation: [1x1 hg.Annotation]
             Color: [0 0 1]
         LineStyle: '-'
         LineWidth: 0.5000
            Marker: 'none'
        MarkerSize: 6
   MarkerEdgeColor: 'auto'
   MarkerFaceColor: 'none'
             XData: [1x1000 double]
             YData: [1x1000 double]
             ZData: [1x0 double]
      BeingDeleted: 'off'
     ButtonDownFcn: []
          Children: [0x1 double]
          Clipping: 'on'
         CreateFcn: []
         DeleteFcn: []
        BusyAction: 'queue'
  HandleVisibility: 'on'
           HitTest: 'on'
     Interruptible: 'on'
          Selected: 'off'
SelectionHighlight: 'on'
               Tag: ''
              Type: 'line'
     UIContextMenu: []
          UserData: []
           Visible: 'on'
            Parent: 173.0060
         XDataMode: 'manual'
       XDataSource: ''
       YDataSource: ''
       ZDataSource: ''

# 获取坐标系的属性
get(gca);

修改坐标系的参数

# 修改坐标系X轴和Y轴的参数
set(gca, 'XLim', [0, 2*pi]);
set(gca, 'YLim', [-1.2, 1.2]);
# 或者
xlim([0, 2*pi]);
ylim([-1.2, 1.2])

# 修改坐标系字体的大小
set(gca, 'FontSize', 25)

# 修改坐标系参数之间的间隔
set(gca, 'XTick', 0:pi/2:2*pi);
set(gca, 'XTickLabel', 0:90:360);
# 将X轴参数用π来表示
set(gca, 'FontName', 'symbol');
set(gca, 'XTickLabel', {'0', 'p/2', 'p', '3p/2', '2p'})

修改线条的参数

# 设置线条的风格和宽度
 set(h, 'LineStyle', '-', 'LineWidth', 7.0, 'Color', 'g');
# 设置坐标的风格
plot(x, '-md', 'LineWidth', 2, 'MarkerEdgeColor', 'k', ...
'MarkerFaceColor', 'g', 'MarkerSize', 10);

画多个图(gca和gcf只能指到图二)

x = -10:0.1:10;
y1  = x.^2 - 8;
y2 = exp(x);
figure, plot(x, y1);
figure, plot(x, y2);

图的大小和位置

figure('Position', [left, bottom, width, height])

在一个图上画很多图

# 其中m指的是行,n指的是列, 1代表的是第一个小图
subplot(m, n, 1)

t = 0:0.1:2*pi;
x = 3*cos(t);
y = sin(t);
subplot(2, 2, 1); plot(x, y); axis normal  #恢复对坐标系的大小
subplot(2, 2, 2); plot(x, y); axis square # X轴和Y轴的长度相同
subplot(2, 2, 3); plot(x, y); axis equal  # X轴和Y轴的比例相同
subplot(2, 2, 4); plot(x ,y); axis equal tight # X轴和Y轴要与图像相切

对坐标系的一些操作

# 关闭坐标轴
axis off
# 打开坐标轴
axis on
# 关闭坐标轴上面和右边的线
box off
# 打开坐标轴上面和右边的线
box on
# 关闭单元格
grid off
# 打开单元格
grid on

6.将图片保存到文件中

saveas(gcf, '', '');	

你可能感兴趣的:(MATLIB)