爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 9395|回复: 10

[讨论] 如何matlab画出这样的坐标轴?

[复制链接]

新浪微博达人勋

发表于 2018-9-5 18:34:28 | 显示全部楼层 |阅读模式

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

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

x
file:///C:\Users\admin\AppData\Roaming\Tencent\Users\710550537\QQ\WinTemp\RichOle\56)@8QRD2C]Z$JJN@{SUG_K.pngfile:///C:\Users\admin\AppData\Roaming\Tencent\Users\710550537\QQ\WinTemp\RichOle\)VS2IZAFM5W2{YVSQKFJFCV.png
有大神知道如何matlab画出这样的坐标轴吗?
1.右侧和上方的刻度和标签隐藏
2.坐标轴大刻度小刻度长短有差别,而且只标注大刻度的数值


QQ图片20180905183420.png

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

新浪微博达人勋

发表于 2018-9-5 19:15:42 | 显示全部楼层
hA = gca;
直接打开hA变量修改参数即可
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-5 20:09:50 | 显示全部楼层
clc
clear

x=0:0.2:10;
y=sin(x);
h= figure(1);
plot(x,y,'bo-')
axes1=get(h,'CurrentAxes');%获取当前图形axes句柄信息
set(axes1,'TickDir','out','TickLength',[0.03 0.05],'XMinorTick','on','XTick',0:2:10,'XTickLabel',...
    0:2:10,'YMinorTick','on','YTick',...
    -1:0.4:1,'YTickLabel',...
    -1:0.4:1);

%%如果想随意设置最小刻度间隔可能麻烦一点
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-5 20:13:37 | 显示全部楼层
忘记你说的上和右刻度隐藏标记了,刚在网上查了一下,在上面的代码下面放置以下代码:
box off
ax2 = axes('Position',get(gca,'Position'),...
           'XAxisLocation','top',...
           'YAxisLocation','right',...
           'Color','none',...
           'XColor','k','YColor','k');
set(ax2,'YTick', []);
set(ax2,'XTick', []);
box on
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-5 20:18:02 | 显示全部楼层

TickLength用于设置大小刻度长度
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-6 11:45:21 | 显示全部楼层
772615260 发表于 2018-9-5 20:18
TickLength用于设置大小刻度长度

感谢!!!还有就是坐标轴以及刻度的线宽怎么设置?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-6 12:26:04 | 显示全部楼层
分享matlab函数:设置xy坐标轴次刻度minortick
http://bbs.06climate.com/forum.p ... 3&fromuid=76813
(出处: 气象家园)
找到一个设置minortick的帖子,很好用。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-9-6 12:29:36 | 显示全部楼层
坐标轴线宽的设置也解决了。
set(gca,'linewidth',2)即可。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-6 12:54:35 | 显示全部楼层
歪个楼,再来个自用的函数,关于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');

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

新浪微博达人勋

 楼主| 发表于 2018-9-6 15:02:50 | 显示全部楼层
收藏起来~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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