问题描述:想修改X轴的刻度密度,lable文字,和位置。即将如下面所示的matlab默认的左图效果修改为右图效果:
代码如下:
function [ output_args ] = tick( input_args ) %随便绘制一条X轴有10个刻度的曲线 ezplot('x^3+x^2+x+5',[1,10]); %设置要求只显示5个刻度,并自己定义刻度的示意文字 %xtick就是你要在哪些值处显示刻度,xticklabel就是指定显示为什么 set(gca,'xtick',[1 3 5 7 9],'xticklabel',{'first','third','five','seven','nine'}) %or %set(gca,'xtick',[1 3 5 7 9],'xticklabel',[1,3,5,7,9]) box off end
pos=axis;%取得当前坐标轴的范围,即[xmin xmaxymin ymax]
比如,修改代码如下:
function [ output_args ] = tick( input_args ) ezplot('x^3+x^2+x+5',[1,10]); %这里要求X轴设置为只显示5个刻度,并自定义刻度的lable %xtick就是你要在哪些值处显示刻度,xticklabel就是指定显示为什么 set(gca,'xtick',[1 3 5 7 9],'xticklabel',{'first','third','five','seven','nine'}) %or %set(gca,'xtick',[1 3 5 7 9],'xticklabel',[1,3,5,7,9]) box off <pre name="code" class="html">%取得当前坐标轴的范围,即[xmin xmax ymin ymax] pos=axis;
%设置x轴标签的文本在图的右下方,100这个值根据自己的需要可以调整xlabel('X axis','position',[(pos(2)-pos(1))/2 pos(3)-100]);
%0.8这些值可以根据自己坐标轴的初始值调整ylabel('Y axis', 'position',[pos(1)-0.8 (pos(4)-pos(3))/2]);end
参考:
http://blog.sina.com.cn/s/blog_7e6270010101nt0r.html
http://zhidao.baidu.com/question/118413781.html