Matlab学习日记之绘图
绘图
二维绘图
单条曲线:
x = 0 : 0.01 : 2*pi; 0到2派步长为0.01
y = sin(x);
figure 建立一个幕布
plot(x,y) 根据x y绘图
title('y = sin(x)') 设置绘图的名称,title函数含有两个属性分别为:Color属性和FrontSize属性。如:title('y = sin(x)','Color','r')
xlabel('x') 设置x轴的名称
ylabel('sin(x)') 设置y轴的名称
xlim([0 2*pi]) 设置x的显示范围
text(x,y,'内容') 在绘图中坐标为(x,y)的地方标注‘内容’
多条曲线:
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x); exp(x)表示e^x
y2 = 0.8*exp(-0.5*x).*sin(10*x);
figure 画双曲线时也可以先用hold on 再分别使用两个plot(),再用hold off
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); plotyy()共用相同的x,AX对应x,H1对应y1,H2对应y2
set(get(AX(1),'Ylabel'),'String','Haa1'); 设置y1的Ylabel(名称)为H1
set(get(AX(2),'Ylabel'),'String','Haa2'); 设置y2的Ylabel(名称)为H2
xlabel('aaa')
set(H1,'LineStyle','--') 设置y1的LineStyle(线条类型)为'--'(虚线)
set(H2,'LineStyle',':') 设置y2的LineStyle(线条类型)为':'(点线)
set(H1,'Color','r') 设置y2的Color(颜色)为'r'(红色)
legend('111','222') 分别标注每条曲线的名称
设置线条颜色和类型(颜色和类型可以叠加使用,对应设置在plot()中的第三个参数。如:单条曲线设置时plot(x,y,'r--') )
其他曲线:
极坐标:
t = 0:pi/100:2*pi;
r = 1-sin(t);
subplot(1,2,1) 设置幕布为1行2列,并对第一个图行进行绘制
polar(t,r) 绘制极坐标图形,t:角度,r:极长
t1 = t-pi/2;
r1 = 1-sin(t1);
subplot(1,2,2) 对第二个图行进行绘制(从左到右,从上到下的顺序)
polar(t,r1)
柱状图
y=[1,2,3,4,5;1,2,1,2,1;5,4,3,2,1];
subplot(1,2,1)
bar(y) 将矩阵y转换成柱状图
subplot(1,2,2)
bar(y,'stacked') 将柱状图的形式设置为stacked形式,如图2
直方图
y=randn(500,1);
subplot(2,1,1);
hist(y) 绘制直方图
subplot(2,1,2);
x=-3:0.2:3
hist(y,x) 指定区间中间点的直方图
极坐标下的直方图
y=randn(500,1);
t=y*pi;
rose(t) 绘制极坐标直方图
饼图
s=[5,17,23,9,4]; 根据比例总和绘制出相应比例的饼图
ex=[0,0,0,0,1]; 1表示突出哪一块
pie(s,ex) 绘制饼图
legend('优秀','良好','中等','及格','不及格','location','eastoutside') 后两个参数设置标签的位置
向量
A=[4,5];
B=[-10,0];
C=A+B;
hold on;
quiver(0,0,A(1),A(2)); 绘制向量
quiver(0,0,B(1),B(2));
quiver(0,0,C(1),C(2));
text(A(1),A(2),'A');
text(B(1),B(2),'A');text(C(1),C(2),'A');
axis([-12,6,-1,6]); 设置坐标系范围
grid on
三维绘图
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t) 三维绘图使用的时plot3(x,y,z)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
grid on 显示图片中的网格
axis square 限制x,y,z轴使整体三维图像在一个正方体内部
双峰函数:
[x,y,z] = peaks(30);
mesh(x,y,z)
grid