- 本文主要列出博主在作通信仿真時,用到的一些繪圖命令,通過程序示例說明
- matlab支持LaTex語法
一、單座標軸
- 代碼示例
figure(1);
subplot(2,1,1);
1、figure(1)指定下列圖片爲第一幅圖,與figure(2)爲獨立窗口;
2、subplot(2,1,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',[])
去掉上面與右邊座標邊框
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');