用一张图说明matlab画图流程,避坑指南

【博文创作缘由】介于每次用 Matlab 画完图之后,代码会随之遗弃,再次画图又要重新学习,一顿网上百度,费时费力。于是决定好好整理一番,把画图过程及注意事项进行梳理!

1. Figure创建及底图白化

figure(1)  % 里面需要时整型数字,不可为字符;
set(gcf, 'color', 'w'); % 设置画布底图为纯白色,gcf = get current figure handle

2. hold on 真的挺好

plot(x,UFk,'r-','linewidth',2); % 可以设置曲线线宽为2,红色实线;
hold on;                  % 这里必须放在中间,不然下一句的plot会覆盖掉上面的plot
plot(x,UBk2,'b-.','linewidth',2); % 可以设置曲线线宽为2,蓝色点画线线;

3. 多种线型在一张图上

plot(x, 0*ones(N,1), 'k-.','linewidth',1.5);    % 参考线
plot(x, 1.96*ones(N,1), 'k:','linewidth',1.5);  % 参考线
plot(x, -1.96*ones(N,1), 'k:','linewidth',1.5); % 参考线

4. 坐标轴“视野”范围

axis([minx,maxx,-4,4]);  % 对应你想展示的x,y轴显示的范围axis([xmin,xmax,ymin,ymax]); 
                         %xlim([minx,maxx]);
                         %ylim([miny,maxy]);

5. 坐标轴“刻度”设置及“刻度标签”

  • 取决于你想让哪些刻度点显示刻度,并为其贴上标签
set(gca, 'XTick', [1970:10:2010])  % 这里可是是等差,可以是不等距,还可以是字符
set(gca, 'YTick', [-4:2:4]);       % 不等距如 set(gca, 'YTick', [-4 1 0 3 4]); 
% -----------------------为刻度贴标-----------------------       
% set(gca, 'XTickLabel', {'a', 'ev', 'se', 'ge', 'gw', 'wd','wz'}) % 注意!如需贴标签时,需要和上面需要显示的刻度长度对应,<需要为刻度添加字符串标签时会常常用到>% set(gca, 'XTickLabel', [一维向量也行])   % 注意!如果是数字,其实这个不太需要,因为上面XTick已经能达到效果。                     

6. 坐标轴刻度字体类型/大小/坐标轴线宽

set(gca,'FontSize',30,'FontName','times new roman','Linewidth',1.5)% 只负责坐标轴的刻度的字体类型/大小/线宽,而不能控制坐标轴 “标题” 的形式

7. 坐标轴“标题”及字体混搭

% x,y轴显示的刻度的字体大小/类型,坐标轴线宽
xlabel('年份 ','FontSize',15,'FontName','songti');
ylabel('统计量','Fontsize',15,'FontName','songti');

8. 添加网格和方框

box on/off;    % 选择开启/关闭右边框和上边框
grid on/off;  % 选择开启/关闭内部网格

9. 添加图例及文字混搭

% 图例
str1 = ['\fontname{times new roman}UF'];              %1条线所对应的图例说明
str2 = ['\fontname{times new roman}UB'];              %2条线所对应的图例说明
str3 = ['\fontname{times new roman}95%\fontname{songti}显著水平']; %3条线所对应的图例说明
h_legd =legend(str1,str2,str3);                % 按顺序显示图例
set(h_legd,'FontSize', 12, 'box','off')        % 设置图例字体大小,并关闭边框。

注意:如果想在图例中的文字,既有字符,又有文字,而想让字符为times new roman,文字为songti,可以采用上面形式(先自定义字符串,然后再在legend中按顺序添加进去):
自定义的字符串格式为: \fontname{字符格式}字符内容\fontname{文字字体格式}文字内容

10. 图中添加文字及混搭

text(1965,3.6,'\fontname{songti}(最大\fontname{times new roman}1\fontname{songti}日径流)','FontSize',15)

‘\fontname{songti}(最大\fontname{times new roman}1\fontname{songti}日径流)’
对应的格式就是文字为宋体,字母为新罗马;

11. 保存图片并指定分辨率

print(gcf, 'I:\图片\Q1d', '-dpng', '-r600');
% gcf = get current figure handle, 为当前画布的句柄;
% I:\图片\Q1d,为路径+文件名(无后缀)
% -dpng,为图片格式(png),也可以是位图-djpeg →.jpeg | -dtiff or -dtiffn → .tif  
%                         还可以是矢量 -dpdf →.pdf  | -dsvg → .svg | -dmeta → .emf 
% -r600,为图片的分辨率
close all  % 保存完记得关闭哦

12. 成品图

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210224215716877.png?x-oss-process=image/watermark,type
【补充】

  1. 对于文字粗细,如果想加粗,可以在参数中,添加 ’FontWeight’,’bold’ 加粗 ‘FontAngle’,’italic’ 斜体
  2. 对于文字大小,建议可以在画图之前,统一储存在一个变量中,如 fsize = 15;如此可以方便统一修改

文章同步推送 水文取经人 公众号,欢迎对水文、气象、陆面过程模拟研究方向感兴趣的大佬一起交流讨论!更多干货,敬请期待!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大雨海深

感谢您的支持和鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值