MATLAB Plotyy作图及句柄设置图形格式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/charie411/article/details/72675873

简介

上篇反复编写,还是在不断修缮中发现了新问题,找到了新方法。因此,特地以plotyy作图为例,介绍双坐标图绘制及句柄设置图形格式的方法。

涉及到的点

  1. 时间序列做为X轴的显示问题;
  2. plotyy函数3个返回值的利用;(Matlab去掉右面、上面的小短线(ticks)
  3. 上侧、右侧坐标轴刻度关闭的可行方法;

例子

%%准备数据(X:时间,Y1:sins(x),Y2:cos(x))
start_=datenum('2017-05-22 00:00:00','yyyy-mm-dd HH:MM:SS');
end_=datenum('2017-05-23 00:00:00','yyyy-mm-dd HH:MM:SS');
x=linspace(start_,end_,1000);
y1=sin(x);
y2=cos(x);

%%plotyy方法作图
[ax,h1,h2]=plotyy(x,y1,x,y2);

%%设置时间显示
datetick('x','mm/dd HH:MM:SS','keepticks');

%%上侧、右侧坐标轴刻度关闭的可行方法
%%方法介绍:坐标图新增无底色坐标图,且该坐标轴为上、右侧,X轴显示为黑色,Y轴设置为白色不显示,坐标轴均不显示刻度。
box off
bx=axes('Position',get(gca,'Position'),...
'XAxisLocation','top',...
'YAxisLocation','right',...
'Color','none',...
'XColor','k','YColor','none','XTick',[],'YTick',[]);

%%设置坐标轴、刻度线宽及颜色;
set([ax,bx],'LineWidth',2,'XColor','k');
set(ax(1),'YColor','r');
set(ax(2),'YColor','b');


%%设置图形中线宽及Marker
set(h1,'linestyle','-.','marker','o','markersize',0.5,'linewidth',2);
set(h2,'linestyle','-','marker','o','markersize',0.5,'linewidth',2);

%%设置网格线
grid on
set(ax,'GridLineStyle',':','GridColor','m','GridAlpha',0.6);

%%设置刻度线及刻度值字体
set(ax,'FontName','Times New Romance','FontSize',12,'FontWeight','normal');

%%设置标题、轴标签及图例
title('小试牛刀','FontName','宋体','FontSize',15,'FontWeight','bold');
xlabel(ax(1),'时间','FontName','宋体','FontSize',12,'FontWeight','bold');
ylabel(ax(1),'sin(x)','FontName','Times New Romance','FontSize',12,'FontWeight','bold');
ylabel(ax(2),'cos(x)','FontName','Times New Romance','FontSize',12,'FontWeight','bold');
legend({'sin(x)','cos(x)'},'FontName','Times New Romance','FontSize',12,'FontWeight','bold');

%%保存图片
saveas(gcf,'小试牛刀','jpg');

猜你喜欢

转载自blog.csdn.net/charie411/article/details/72675873
今日推荐