MATLAB关于matlab坐标轴刻度设置的

查看: 5742|回复: 5|关注: 0
关于plot坐标轴刻度的问题
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
x轴为0:,plot自动画出的坐标轴刻度为0:0.5e7:3.5e7,一共7个点,打算改成0:5:365的坐标轴刻度
论坛上这方面的贴子基本都搜索过了,基本按照是set(gca,'xtick',[0:5:365])格式修改,但是按照这样改完之后再运行程序,x坐标轴就一片空白了,请教下大家这是什么原因?
<h1 style="color:# 麦片财富积分
关注者: 1
set(gca,'xticklabel',[0:5:365])
<h1 style="color:# 麦片财富积分
set(gca,'xticklabel',[0:5:365])
试了一下,x轴有刻度了,但是只能显示出5 10 15 20 25 30 35这几个数值,后面直到365都没有,请问是什么原因?非常感谢
<h1 style="color:# 麦片财富积分
关注者: 2
回复 3# transit 的帖子
应该是set(gca,'xtick',[0:5:365])才行。但是可能挤在一起你看不清哦,呵呵
<h1 style="color:#3 麦片财富积分
关注者: 7
0:0.5e7:3.5e7& &七个点,怎么能被72 个点替换呢
<h1 style="color:# 麦片财富积分
关注者: 1
fplot('1',[0 ])
plot(,1,'*r')
%%%%%%%%%%
x=0:5:365;
n=length(x);
y=0:/(n-1):;
set(gca,'xtick',y)
set(gca,'xticklabel',x)
由于点太多,全部挤在一起了。
站长推荐 /2
Powered bymatlab绘图坐标属性设置
使用matlab的绘图函数plot绘图时系统默认设置了一些属性,例如坐标轴字号大小等并根据情况自动设置坐标轴显示的上下限,这些属性可以通过函数灵活改动,此处总结一小部分。
%设置坐标轴线宽,加边框,坐标字号axes('linewidth',1, 'box',
'on', 'FontSize',16);
%设置坐标轴labelxlabel('时间(s)','FontSize',16);
ylabel('压力(pa)','FontSize',16);
plot(ScopeData1.time, ScopeData1.signals.values, 'k', 'linewidth',
%设置坐标轴上下限xlim([0, 0.5]);
ylim([00000]);
ppfranklee 的 MATLAB 操纵坐标轴
&&&&&&&&&&&&&&&&&&&&&&%&去掉坐标轴
axis&&&&&&&&&&&&&&&&&&&&&&%&紧坐标轴
axis&&&&&&&&&&&&&&&&&&&&&&%&等比坐标轴
axis([-0.1,&8.1,&-1.1,&1.1]);&&&%&坐标轴的显示范围&
%&gca:&gca,&h=figure(...);
set(gca,&'XLim',[3&40]);&&&&&&&&&&&&&&&&&&&%&X轴的数据显示范围
set(gca,&'XTick',[-3.14,0,3.14]&);&&&&&&&&&%&X轴的记号点&
set(gca,&'XTicklabel',{'-pi','0','pi'});&&&%&X轴的记号
set(gca,&'XTick',&[]);&&&&&&&&&&&&&&&&&&&&&%&清除X轴的记号点
set(gca,&'XGrid','on');&&&&&&&&&&&&&&&&&&&&%&X轴的网格
set(gca,&'XDir','reverse');&&&&&&&&&&&&&&&&%&逆转X轴
set(gca,&'XColor','red');&&&&&&&&&&&&&&&&&&%&X轴的颜色
matlab 画图, 去掉边
1. 去掉边框, 空白区域。
首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。
screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。
figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。
plot(j,y,'Marker','+','LineWidth',1.5,'LineStyle',':','Color',[0
% 设置坐标轴距离画板边距, 左下山下,依次调整图的空白区域。
set (gca,'position',[0.1,0.1,1,1] );
用matlab画了一张图,投稿时要缩小,缩小后字体就会过小或者发虚。
我摸索出比较好的方法是如下的代码:
%%%%%%%%%%%%%%%%%%%%%
%plot your figure
%%%%%%%%%%%%%%%%%%%%%
% figure resize
set(gcf,'Position',[100 100 260 220]);
set(gca,'Position',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
set(gcf,'Position',[100 100 260
这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm
set(gca,'Position',[.13 .17 .80
这句是设置xy轴在图片中占的比例,可能需要自己微调。
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
这4句是将字体大小改为8号字,在小图里很清晰
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
这句是将线宽改为2
4.设置坐标轴参数
(1)axis,设置当前轴的坐标范围;
(2)axes,用指定的特征创建一个新坐标轴;
(3)get和set,查询或设置已有轴的各种特性;
(4)gca,返回当前轴的句柄。
如果图形中有多个坐标轴,在当前轴为最后图形创建的图形的坐标轴。Matlab绘制图形数据时候,会自动选择坐标轴范围,用axis可以设置新的坐标轴的范围,用一个具有四个元素的矢量表示坐标范围,格式为:
axis([xmin,xmax,ymin,ymax]);如果不指定某一个方向范围可以使用inf或-inf表示,则产生半自动坐标轴范围。
对于线性坐标轴,matlab会自动根据数据范围设置等间距的坐标轴数值标记,用set,修改gca变量中xtick和ytick的属性值,可以自定义坐标轴标记。如
set(gca,’ytick’,[-0.3:0.1:1]);
可以使用字符矢量通过修改gca变量中的’XtickLabel’实现标记字符,如:
set(gca,’Xtick’,-pii/2i);
set(gca,’XtickLabel’,{‘-pi’,’-pi/2’,’0’,’pi/2’,’pi’};
Axis square设置两坐标轴长度成相等。
Axis equel设置坐标轴标记间距相等;
Axis equel tight;设置图形以紧缩方式显示。
5.图形窗口
figure(2);%以第二个图形窗口作为当前图形输出的窗口;
subplot(m,n,i);%分成m&n个小区域,I指定当前绘图区域;
colordef 颜色;%如white,black等,设置绘图背景颜色。
6.图形标注
Matlab提供了几个函数用于图形的标注:
函数名功能描述
Title添加图形标题
Xlabel,xlabel,zlabel添加X,Y,Z轴标注
Legend在图形中添加图例
Text在指定位置显示文本
Gtext使用鼠标将指定文本放在图形中的位置
如下为添加标题,坐标轴标注实例:
&& t=0i/100i*2;
&& plot(t,sin(t));
&& xlabel('t=0 to
2pi','Fontsize',16);
ylabel('sin(t)','fontsize',16);
&& title('Value of the Sine from Zero
to Two pi','fontsize',16)
注:标注时:pi显示成希腊字母,alpha,beta。
在图形中添加标注与图例,如下:
&& t=0i/100i*2;
&& plot(t,sin(t));
&& xlabel('t=0 to
2pi','Fontsize',16);
ylabel('sin(t)','fontsize',16);
&& title('Value of the Sine from Zero
to Two pi','fontsize',16)
text(3*pi/4,sin(3*pi/4),'leftarrow=.707','fontsize',16)
text(pi,sin(pi),'leftarrowsin(t)=0','fontsize',16)
text(5*pi/4,sin(5*pi/4),'sin(t)=-.707rightarrow','HorizontalAlignment','right','fontsize',16)
&& gtext('graph of function sin(x)')
%可以用鼠标指定字符串所需放设位置。
&& H=legend('con','sin',0)
%绘制图例
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。查看: 3690|回复: 6|关注: 0
Matlab关于坐标轴设置的问题
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
有一个小问题求教大家:
我x坐标非线性 而对应的数据基本集中在0-5的区间内 我选取的命令为
set(gca,'xtick',[0,0.1,0.5,1,2,5,10,20,30,40,60]);
不加log的话0-5之间的数据显示过于集中太模糊
所以我加set(gca,'xscale','log')
这样一来画完的图中0-0.1之间的数据就无法显示了 如附件
请教一下有什么方法解决么 非常感谢
<h1 style="color:# 麦片财富积分
凑合着解决了 我把X[0,...]中起点0改成1e-高阶 能plot出数据来就行了 。。。版主可以删贴了
<h1 style="color:# 麦片财富积分
汗! 个人之前想了下, 一时也没想出好方法, 也仅能以一小值避掉log0的问题!
或将大於1(or 10)的值, normalize下, 强迫资料变成两区段! 但较繁杂些!
有点好奇! 楼主这个是什麽图? 干什麽用途?
<h1 style="color:# 麦片财富积分
用图中图啊
画完整个图形在把其中0到5的那部分单独以一小图显示也可以啊
<h1 style="color:# 麦片财富积分
是实验中随时间电流源值变化下电力电子开关处电流微值分布情况的简单图 用的是pcolor画的
对了 继续这个坐标轴的问题 在现在x坐标log情况下 能否把数值之间的距离变成等宽 即 显示出来的框框的宽度是等距离的呢 求教大家
<h1 style="color:# 麦片财富积分
关注者: 1
用axis equal可以吧
<h1 style="color:# 麦片财富积分
forget about this. it seems impossible and its not really important....thx guys...
[ 本帖最后由 swwvivi 于
21:51 编辑 ]
站长推荐 /2
Powered by

我要回帖

更多关于 matlab坐标轴标注 的文章

 

随机推荐