matlab 坐标轴刻度问题

作者&投稿:龚灵 (若有异议请与网页底部的电邮联系)
matlab 如何更改figure坐标轴刻度为不等间距刻度~

matlab坐标刻度调整为不等间距刻度代码:
subplot(3,2,1)
plot(x)
title('默认格式')
subplot(3,2,2)
plot(x)
set(gca,'xtick',[1 3 6 8]);
set(gca,'ytick',[]);
title('X自定义间隔,Y关闭')
subplot(3,2,3)
plot(x)
set(gca,'xtick',[1 3 6 8]);
set(gca,'xticklabel',sprintf('.4f|',get(gca,'xtick')))
set(gca,'ytick',[2 4 5 7]);
set(gca,'yticklabel',{'Two','Four','Five','Seven'});
title('XY自定义间隔、精度及显示方式')
subplot(3,2,4)
plot(x)
set(gca,'xminortick','on');%style 5
set(gca,'ticklength',[0.05 0.025]);
set(gca,'tickdir','out');
title('XY坐标刻度显示方式')
subplot(3,2,5)
plot(x)
set(gca,'xtick',[min(x) (max(x)+min(x))/2 max(x)]);
set(gca,'ytick',[min(x) (max(x)+min(x))/2 max(x)]);
title('论文中常用的标准3点式显示')
x=20:10:20000;
y=rand(size(x));
subplot(3,2,6)
semilogx(x,y);
set(gca,'XLim',[20 20000]);
set(gca,'XMinorTick','off');
set(gca,'XTick',[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]);
set(gca,'XGrid','on');
set(gca,'XMinorGrid','off');
title('自定义网格显示')
%%%%%%%%%%%%%%%%%%%%%%
%顺便附上可以格式化坐标刻度的程序段
x=get(gca,'xlim');
y=get(gca,'ylim');
set(gca,'xtick',[x(1) (x(1)+x(2))/2 x(2)]);
set(gca,'ytick',[y(1) (y(1)+y(2))/2 y(2)]);
-------------
get(gca,'xlim');是获取最大最小刻度的
如果需要获取所有在坐标轴上显示的刻度,需要使用get(gca,'ytick')

根据以下代码(供参考),按你的要求修改,可以得达到如下效果(左:系统默认;右:按自己要求设定)

hl1 = line(n,Pe,'Color','r');
ax1 = gca;
set(ax1,'XColor','r','YColor','r')
ax2 = axes('Position',get(ax1,'Position'),'YAxisLocation','right','Color','none','XColor','k','YColor','k');
hl2 = line(n,Ttq,'Color','k','Parent',ax2);
set(ax2,'YColor','k')
set(hl1,'LineStyle','-')
set(hl2,'LineStyle','*')
xlimits = get(ax1,'XLim');
ylimits = get(ax1,'YLim');
xinc=500;yinc=10;
set(ax1,'YTick',[ylimits(1):yinc:ylimits(2)])
xlimits = get(ax2,'XLim');
ylimits = get(ax2,'YLim');
xinc=500;yinc=20;
set(ax2,'YTick',[ylimits(1):yinc:ylimits(2)])
xlabel('发动机转速n(r/min)');
set(get(ax1,'Ylabel'),'String','发动机功率Pe(kW)')
set(get(ax2,'Ylabel'),'String','发动机转矩Ttq(N·m)')
title('汽车外特性曲线图');
grid on

看你的图像画的好像是个二维彩色图。
如果是imagesc命令的话使用 imagesc(x,y,data),x,y使用你定义的数组。
假如你不加上x,y的话,那默认的刻度就是采样点数,也就是缩小了50倍的。
其他的画二维图的命令基本都有类似功能,如果你用的是其他命令的话你可以help一下看看。

如果还不能解决的话,你参考一下这两个命令:Xtick,Xticklabel,具体用法看一下help应该就能明白,一般配套使用,是设置需要标注的坐标点位,以及标注什么内容。


乐东黎族自治县17598365232: matlab更改坐标轴刻度值有问题
哈胀和雪: 分两种情况解决: 1. 改动在初始画图范围内(如:放大显示),直接用 axis([minX maxX minY maxY]); 2. 如果超出范围,必须用新的数据重画.

乐东黎族自治县17598365232: matlab 坐标轴刻度等间距问题我知道对于二维图形的坐标轴来说,可以用:axis equal 来进行设置但这个语句对三维坐标轴不起作用啊,怎么来使三维坐标轴... -
哈胀和雪:[答案] xlim ylim zlim

乐东黎族自治县17598365232: 我在MATLAB中做一个曲线,纵坐标刻度自定义,但是纵坐标始终少一个刻度. -
哈胀和雪: 两点建议:1、把plot放在设置Tick、TickLabel的语句之前,因为plot默认会清除坐标系的内容,你的两句set其实没有起到作用.2、设置Tick并不影响坐标范围.也就是说,坐标范围由你的数据决定,既然数据最大值不超过1000,当然不会显示...

乐东黎族自治县17598365232: Matlab中图形的坐标轴显示问题 -
哈胀和雪: ytick就是改变刻度的属性呀... 要改变y轴显示范围的话用ylim属性: set(ax(1),'ylim',[0 10]); %设置y轴上下限

乐东黎族自治县17598365232: matlab画图怎么变换坐标刻度 -
哈胀和雪: 主要是xlim命令,和用set命令修改 xtick,具体看代码:clc;clear;clf; x = 0:0.01:2*pi; y = sin(x); plot(x,y);% 指定x轴的坐标范围 xlim([0,6.5]); %设置中间间隔的刻度,修改0.4即可 set( gca, 'xtick', [0:0.4:6.5])结果为:

乐东黎族自治县17598365232: matlab中怎样修改坐标轴默认显示刻度,而且放大后刻度也跟着改变 -
哈胀和雪: 在你画完图以后加了以下一句话,注意后面那个[0:30:300]矩阵换成你所要设置的横坐标数据 >> set(gca,'XTick',[]) %%% 坐标起始0 每隔30显示一个 终止300 可根据自己需要修改[0:30:300]有问题欢迎追问,有帮助请采纳 copyright@cxd1301

乐东黎族自治县17598365232: matlab 如何更改figure坐标轴刻度为不等间距刻度 -
哈胀和雪: matlab坐标刻度调整为不等间距刻度代码: subplot(3,2,1) plot(x) title('默认格式') subplot(3,2,2) plot(x) set(gca,'xtick',[1 3 6 8]); set(gca,'ytick',[]); title('X自定义间隔,Y关闭') subplot(3,2,3) plot(x) set(gca,'xtick',[1 3 6 8]); set(gca,'xticklabel',sprintf('.4f|...

乐东黎族自治县17598365232: matlab坐标轴的显示有问题 -
哈胀和雪: 在Edit下面,有个Axes Properties 左下角有一个Box,你试试

乐东黎族自治县17598365232: matlab坐标保留刻度短线和网格线,但是不显示刻度数值 -
哈胀和雪: set(gca,'yticklabel','');

乐东黎族自治县17598365232: matlab如何控制坐标轴的标度 -
哈胀和雪: 假设设x轴,范围为1到10,则 set(gca,'xtick',[1:2*pi:10]) 如果要改变x轴的范围 set(gca,'xlim',[xmin,xmax])

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网