ran*_*ert 6 format matlab exponential
我有两个情节.在第一个图中,y轴的值达到30000.因此,Matlab标记轴而不是'30000',其中'3'和'x10 ^ 4'在图上方.在第二个图中,y值刚好超过10000.由于该值太低而无法自动切换到指数格式,因此它确实打印了"10000".
我想知道是否有办法强制指数格式化.这将导致相同格式,因为Matlab会自动执行此操作.我问这个是因为我已经看到了解决方案,你可以将Matlab打印'10 ^ 3'直接作为Y标签,但我只想让它在标签上显示'1',在图上方显示'x10 ^ 3'.
下图显示了为了澄清我的问题而合并在一起的不同图表.在图像的左半部分,您可以看到Matlab在使用值> 10000时所执行的操作.如果下图中显示的是下半部分显示的轴格式.

根据一些阅读、测试和属性检查,这似乎是不可能的:
http://www.mathworks.com/matlabcentral/answers/8005-axes-tick-in-scientific-notation
仅当您未设置 YTickLabel 属性时,科学记数法标签才会自动显示。如果您设置 YTickLabel,则没有(已记录的)方法让 MATLAB 以相同的方式自动输入指数。
为了解决这个问题,如果您设置了 YTickLabel 并且需要指数,则需要在您希望其出现的位置使用 text() 发送指数。
您可以像这样设置 y 轴标签的格式
set(gca,'YTickLabel',sprintf('%3.1f|',get(gca,'ytick')/max(get(gca,'ytick'))
Run Code Online (Sandbox Code Playgroud)
然后使用 TeX 标记 ('$\times10^4$') 添加 x 10^4 以手动获得相同的结果。
| 归档时间: |
|
| 查看次数: |
9648 次 |
| 最近记录: |