爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7752|回复: 16

[程序设计] 【matlab画图美化函数】常规设置只需一个函数

[复制链接]

新浪微博达人勋

发表于 2018-9-6 13:06:27 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
关于matlab画图的常规美化设置一个函数搞定。个人喜欢用函数封装,一键搞定美化问题,供参考。可根据个人需要增减设置或修改参数。


使用方法:
plot 了之后,在所有语句的最后再打上beautify即可:

clc;
clear all;
x=0.5:0.1:5;
y=cos(x);
figure(1);clf;
plot(x,y,'ko-')

xlim([0 5])
beautify%  因为在这个函数中有关于右侧和上方坐标轴的设置,beautify要放在所有语句(关于左方和下方坐标轴的设置语句)的后面
--------------------分割线------------函数:

function beautify
% function which produces a nice-looking plot  and sets up the page for nice printing

set(gca,'LineWidth',1.5);
set(gca,'FontSize',12);
set(gca,'FontWeight','bold');
set(gcf,'color','w');
set(get(gca,'xlabel'),'FontSize', 12, 'FontWeight', 'bold');
set(get(gca,'ylabel'),'FontSize', 12, 'FontWeight', 'bold');
% set(get(gca,'title'),'FontSize', 18, 'FontWeight', 'bold');
% % axis tight;%%limit axis according to the data's limits
% % axis square
set(gca,'tickdir','out')
set(findobj('Type','line'),'LineWidth',1.5);
set(findobj('Type','text'),'fontsize',12);

%
box off
ax2 = axes('Position',get(gca,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','k','YColor','k');
set(ax2,'ytick', []);
set(ax2,'xtick', []);
set(gca,'LineWidth',1.2);
% box on

%%print pdf
% % set(gcf,'PaperUnits','inches');
% % set(gcf,'PaperSize', [8 8]);
% % set(gcf,'PaperPosition',[0.5 0.5 7 7]);
% % set(gcf,'PaperPosition Mode','Manual');

beautify前

beautify前

beautify后

beautify后
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-6 14:26:09 | 显示全部楼层
可以参照seaborn做一些style
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-6 15:13:47 | 显示全部楼层
又是那隻貓 发表于 2018-9-6 14:26
可以参照seaborn做一些style

嗯嗯,有需要的话可以尝试一下暂时只是根据个人需求做了些style

参照python seaborn做的matlab包还没见到,不过已有人做了类似R语言ggplot2的包gramm:
https://ww2.mathworks.cn/matlabc ... lbox-ggplot2-r-like
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-6 17:14:43 | 显示全部楼层
暴龙 发表于 2018-9-6 15:13
嗯嗯,有需要的话可以尝试一下暂时只是根据个人需求做了些style

参照python seaborn做的ma ...

挺不错的,感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-6 20:47:49 | 显示全部楼层
赞,不过gramm包挺好的,还有一个PlotPub包也不错
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-6 20:59:20 | 显示全部楼层
huangbicheng 发表于 2018-9-6 20:47
赞,不过gramm包挺好的,还有一个PlotPub包也不错

是的,PlotPub也是挺厉害的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-6 21:12:04 | 显示全部楼层
暴龙 发表于 2018-9-6 20:59
是的,PlotPub也是挺厉害的

多多交流
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-6 21:12:09 | 显示全部楼层
暴龙 发表于 2018-9-6 20:59
是的,PlotPub也是挺厉害的

多多交流
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-6 21:34:04 | 显示全部楼层

{:handshake:}{:loveliness:}哈哈多多交流
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-7 16:35:09 | 显示全部楼层
美化的话,除了常见的图框属性,可能也少不了对曲线的锯齿消除,也就是
LineSmoothing的开关设置
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表