为方便自己绘图,记录一下画图常用命令。会不定期完善代码,欢迎评论区交流好用的画图技巧。
- 部分绘图效果展示
- 绘图代码详解
以随机噪声为例
x=randn(100,1);
% 计数,同时创建一个新的图片:
figure
% 画红色的曲(折)线,线宽2.5
plot(x,'r','LineWidth',2.5)
hold on % 在当前图上继续绘图
plot(x,'b.') % 画蓝色的实心点图
hold on
stem(x,'*k') % 画黑色带*的棍状图
% 在图东南角对应生成线宽2.5的图例
% 'Northeast' 也可换成 'East'等方向
legend('x1','x2','x3','LineWidth',2.5,'Location','Northeast')
% 将图片边框以及横纵轴设置:线宽为2,字号14,字体Times New Roman
% 注意不要使用下划线、中文,可能会不兼容
set(gca,'linewidth',2,'fontsize',14,'fontname','Times New Roman')
% 裁掉图片的白边 (方便插图,省去手动裁剪的时间)
set(gca, 'LooseInset', [0,0,0,0])
% 以厘米为单位,在屏幕上(10,5)的位置画24cm×12cm的图
set(gcf,'unit','centimeters','position',[10 5 24 12])
% 限制x、y轴的显示范围
xlim([1 100]); ylim([-3.5 3.5]);
% 只显示x轴的五个位置,并采用0-2pi的特殊显示
set(gca,'XTick', [1 25 50 75 100]);
% 或采用 set(gca,'xtick',1:25:100);
set(gca,'xticklabel',{'0','\pi/2','\pi','3\pi/2','2\pi'})
% x、y轴标签,可设置字体及大小
xlabel('x'); ylabel('Amp');
title('Frequency Domain of x')
代码绘图结果:
- 保存图片方式
①复制无损矢量图:在figure中使用菜单edit---->copy figure,此时图像就复制到剪贴板了,可以粘贴到word或者visio里。该方法的优点是图片缩放不损失清晰度。
②saveas命令。常用于批量绘图时,在如下命令里,k是循环改变的数,这样就可以批量生成文件名为x1.jpg、x2.jpg...等图片。
saveas(gcf,['D:\Mywork','x',num2str(k),'.jpg'])
为方便复制,这里放一份无注释的代码:
x=randn(100,1);
figure
plot(x,'r','LineWidth',2.5)
hold on
plot(x,'b.')
hold on
stem(x,'*k')
legend('x1','x2','x3','LineWidth',2.5,'Location','Northeast')
set(gca,'linewidth',2,'fontsize',14,'fontname','Times New Roman')
set(gca, 'LooseInset', [0,0,0,0])
set(gcf,'unit','centimeters','position',[10 5 24 12])
xlim([1 100]); ylim([-3.5 3.5]);
set(gca,'XTick', [1 25 50 75 100]);
% set(gca,'XTick', 0:25:100);
set(gca,'xticklabel',{'0','\pi/2','\pi','3\pi/2','2\pi'})
xlabel('x'); ylabel('Amp');
title('Frequency Domain of x')