登录论坛

查看完整版本 : 如何更改MATLAB图中轴上显示的数字的格式?


poster
2019-12-10, 20:48
我实际上有3个问题:

我有一个包含数千个数据的图,并且图的轴显示刻度线为.4 .8 1.0 1.2和右下角的* 10 ^ 4。这有点烦人。

除了将数据除以1000或hardcodig刻度线外,还有没有办法将刻度线从.4 * 10 ^ 4更改为4000?

似乎这应该是微不足道的,但是在浏览完该图的所有属性之后,我似乎找不到位置。

并且...一旦我得到4000而不是.4 * 10 ^ 4的出现,就可以旋转刻度线标签,因此它不会与其他标签重叠。

并且..您如何设置有多少个“主要”刻度线?

非常感谢!





回答:

请尝试以下操作:

x=[4000, 8000, 10000, 12000]; % define the x values where you want to have a tick set(gca,'XTick',x); % Apply the ticks to the current axes set(gca,'XTickLabel', arrayfun(@(v) sprintf('%d',v), x, 'UniformOutput', false) ); % Define the tick labels based on the user-defined format 参考: Mathworks (http://www.mathworks.com/support/solutions/en/data/1-16KCT/?solution=1-16KCT)

关于标签旋转,看来Matlab本身并不支持这种功能,但是有人为标签旋转 (http://www.mathworks.com/matlabcentral/fileexchange/8722-rotate-tick-label)编写了一个脚本 (http://www.mathworks.com/matlabcentral/fileexchange/8722-rotate-tick-label) ,您可能想尝试一下。



更多&回答... (https://stackoverflow.com/questions/3727797)