目录
1..二维图
1.1 基本画图功能
1.2 plot参数说明 :线条类型,点类型,颜色
1.3 坐标轴定标和图形说明
1.4 子图 :subplot
1.5 其他类型的二维图 :极坐标图,条形图,饼图,柱状图,双y轴图
1.6 函数绘图 :fplot
2.三维绘图
2.1 三维线图 plot3()
2.2 曲面图 mesh surf
2.3 等高图 contour()
2.4 伪色图 pcolor()
1.二维图
1.1 基本画图功能
1.2 plot参数说明
1.3 坐标轴定标和图形说明
1.4 子图
subplot(m,n,p) 把图形窗口分成m行n列,p对应第几个子图。
例如subplot(2,2,1)
例子:
x=0:pi/20:2*pi; y1=sin(x); y2=cos(x); %第一个图形窗口 figure(1) plot(x,y1,':*k',x,y2,'--*r'); %参数依次为:线条类型,点类型,颜色 title('正弦与余弦') %标题 xlabel('x轴') %标注x轴 ylabel('y轴') %标注y轴 legend('y1=sinx','y2=cosx') %标注函数线 text(0.7853,0.7071,'交点') %在某个点添加文本框 grid on %添加栅格 %第二个图形窗口 figure(2) %重新打开一个空白图形窗口 subplot(2,1,1) axis([0,pi,0,1]) %限制x,y轴的最大最小值,[xmin,xmax,ymin,ymax] plot(x,y1,'r','LineWidth',2) %使线条扩大一定倍数 legend('y1=sinx') subplot(2,1,2) %把图形窗口分成2行1列 axis([0,pi,0,1]) plot(x,y2,'b','LineWidth',2) legend('y1=sinx')
运行结果:
1.5 其他类型的二维图
(1)极坐标图: polar(theta,r)
(2)对数图
(3)条形图,柱状图和饼图
柱状图:显示数据的分布情况。
(4)双y轴图:适用于同个x区间,但y值相差较大的情况。
例子:
x=[1:5]; figure(1) subplot(2,2,1) bar(x); %垂直条形图 subplot(2,2,2) barh(x); %水平条形图 subplot(2,2,3) bar3(x); %三维条形图 subplot(2,2,4) bar3h(x); %三维水平条形图 figure(2) subplot(2,2,1) pie(x); %饼图 subplot(2,2,2) pie3(x); %三维饼图 subplot(2,2,3) x1=[1 2 4 6 2 2 5 3 4 5 6 2 7 1 2 8 9 2 3 4 6]; hist(x1,10); %柱状图,把数据从最大值到最小值等分成10份 subplot(2,2,4) x2=0:pi/20:2*pi; y1=sin(x2); y2=exp(x2); plotyy(x2,y1,x2,y2) %双y图
运行结果:
1.6 函数绘图:fplot('sin(x)',[-2*pi,2*pi])
2.三维绘图
2.1 三维线图
x=linspace(0,10*pi,1000); %0到10*pi中间插入1000个值 y=cos(x); z=sin(x); plot3(x,y,z) grid xlabel('angle'); ylabel('cos(x)'); zlabel('sin(x)'); title('弹簧')
运行结果:
2.2 曲面图
(1)mesh图 (无颜色):mesh(x,y,z)
(2)surf图 surf(x,y,z)
渲染颜色:shading interp 去掉颜色:shading flat
用户自定义颜色:colormap(gray) %输出灰色
其他颜色:
例子:
z=[1:10;2:2:20;3:12]; x=linspace(1,50,10); y=[500,750,1000]; subplot(2,2,1); mesh(x,y,z); %mesh图 title('mesh图') subplot(2,2,2); surf(x,y,z); %surf图 title('surf图') subplot(2,2,3); surf(x,y,z); shading interp; %渲染阴影图 title('渲染阴影图') subplot(2,2,4); surf(x,y,z); shading flat; %去掉色图中的网格 title('去掉色图中的网格')
运行结果:
2.3 等高图
[x,y,z]=peaks; subplot(1,2,1); plot3(x,y,z); contour(x,y,z) %绘制三维等高图 subplot(1,2,2); surfc(x,y,z) %同时绘制等高图和曲面图
运行结果:
2.4 伪色图
概念:用带栅格的二维阴影图代替等高图中的轮廓线。
[x,y,z]=peaks; subplot(2,2,1); pcolor(x,y,z); title('绘制伪色图') subplot(2,2,2); pcolor(x,y,z); shading interp; title('去掉了三维图形的网格') subplot(2,2,3); pcolor(x,y,z); shading interp; hold on; contour(x,y,z,20,'k') title('在图形上叠加等高线') subplot(2,2,4); contour(x,y,z) title('普通的等高图')
运行结果: