- 本文主要列出博主在作通信仿真时,用到的一些绘图命令,通过程序示例说明
- matlab支持LaTex语法
一、单坐标轴
- 代码示例
figure(1);
subplot(2,1,1);
1、figure(1)指定下列图片为第一幅图,与figure(2)为独立窗口;
2、subplot(2,1,1) 指定下列图片为第一子图,图片为 2 × 1 2\times1 2×1排列,当前图片作为第一幅图,按照先行后列与其它子图依次排列。
snr1 = -5:2:17;
semilogy(snr1, seed1, 'rs-', snr1, seed2, 'ks-');
1、semilogy为作图样式,也可以是plot,stem等;
2、 snr1为横坐标,seed1、seed2为纵坐标;
3、引号内为线条样式,按顺序分别代表颜色、数据点形状、连线样式(k黑r红,s方块,-直线)
hold on;
本图片线条保持在下一作图中
grid on;
加入网格
set(gca,'xtick',-5:2:17);
gca表示当前绘图区域,'xtick’设置横坐标网格显示间隔
set(gca,'box','off','Ytick',[])
去掉上面与右边坐标边框
str=sprintf('\n\nb) M=4');
xlabel(['定时点偏移' str]);
多行x轴标题(\n表示换行)
xlim([-5,17]);
axis( [xmin xmax ymin ymax] )
1、强制限制横坐标显示范围为[-5,17]
2、设置当前坐标轴 x轴 和 y轴的限制范围
set(gca,'FontName','Times New Roman')
设置坐标轴字体(中文字体Times New Roman乱码,需要重新指定字体)
xlabel('误差位个数');ylabel('频数');
表示x轴与y轴的说明
legend('AWGN频偏1.01','13径频偏2.49');
legend('\fontname{Times new roman} AWGN \fontname{宋体}频偏\fontname{Times new roman} 1.01', ...
'\fontname{Times new roman}13\fontname{宋体}径 \fontname{宋体}频偏 \fontname{Times new roman}2.49');
1、legend为曲线按顺序添加图例;
2、\fontname{Times new roman} 表示后面文字格式为Times new roman,宋体同理,间隔不同字体需要分别添加字体格式化,这一方法也适用于其它文字字体的格式化输出;
3、也可以通过num2str(*)将数字类型变量显示在legend中。
title('\fontname{宋体}频偏估计性能');
title([num2str(number_) ' ' '帧 ']);
1、title表示题目;
2、可以使用char类型向量拼接题目,number_为数字类型变量,’ '为空格;
text(3,2,'z1')
在坐标(3,2)处显示z1
二、双坐标轴
- 代码示例(数据拟合)
[mu sigma] = normfit(data); %得到数据data的均值与标准差
[y,x] = hist(data , 10); %得到数据的直方图数据(将横坐标最大值与最小值之间的范围分为10份)
bar(x,y,'Facecolor','r','Edgecolor','w'); %作直方图,柱体红色,背景白色
box off; %关闭边框(防止对第二y轴造成影响)
xlim([mu - 3*sigma,mu + 3*sigma]); %设置横坐标范围
A2 = axes; %设置笛卡尔坐标系
fplot(@(x)normpdf(x,mu,sigma),[mu - 3*sigma,mu + 3*sigma]); %对第二坐标系作图
set(A2,'box','off','yaxislocation','right','color','none'); %设置第二坐标系参数,关闭边框,y轴置于右边,背景设置为无色
前五行绘制第一个y轴对应图像;
后三行设置第二y轴对应图像。
- 图片示例
- 其它的双y轴作图
X=-5:5;
Y1=[1:5 3:8];
Y2=[0.1 -5:2:13];
figure(1);
yyaxis left; %左边y轴
plot(X,Y1);
ylabel('left');
yyaxis right; %右边y轴
plot(X,Y2);
ylabel('right');