作业帮 > 综合 > 作业

MATLAB用plot作图之后如何让年份后面显示1月并且只要某年1月到某年1月或者把年份放到刻度之间.

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/29 03:20:17
MATLAB用plot作图之后如何让年份后面显示1月并且只要某年1月到某年1月或者把年份放到刻度之间.
比如说这个显示成2009/1、2010/1、2011/1这样子的,不要其他的月份的,只要每年1月开始,或者说让年份放到刻度之间红圈的位置,就是每个年份都放到刻度之间,因为每次读取的年份的个数不一定,也可能是三年,五年,十年的,所以有没有办法让它能自动识别是几个年份,然后把这些年份数字放到刻度中间的位置.
MATLAB用plot作图之后如何让年份后面显示1月并且只要某年1月到某年1月或者把年份放到刻度之间.
x = 2009 : 2015;
plot( x, x );
xl = get( gca, 'XTickLabel' );
ext = repmat( '/1', length( xl ), 1 );
set( gca, 'XTickLabel', [ xl, ext ] );
再问: 嗯,谢谢大神,那我还想知道,有没有办法能自动把年份放到中间呢?
再答: 这个要是严格的放到中间是不行的,因为matlab设计上就是一个刻度对应一个label,不可能在没有刻度的地方显示label的,但如果非要按你说的来的话,你可以在每个label前加上一些空格也能差不多达到效果,空格的多少自己调下: x = 2009 : 2015;
h = plot( x, x );
xl = get( gca, 'XTickLabel' );
ext = repmat( '/1', length( xl ), 1 );
hed = repmat( '                    ', length( xl ), 1 );
set( gca, 'XTick', x );
set( gca, 'XTickLabel', [ hed, xl, ext ] );
xlim( [ x( 1 ), x( end ) + 1 ] );