抑制数字刻度中的指数格式
对于大于约 10'000 的刻度的刻度标签,例如将格式设置为 1x10^4。而指数部分出现在相应轴的上方。这种不当行为在 matlabcentral 上也得到了很好的描述,但没有解决方案。
感谢您的帮助。
当应用于 bar3 时, “快速技巧”
set(gca, 'YTickLabel',get(gca,'YTick'))
不起作用,如下图所示。
Tick labels for ticks bigger than about 10'000, get formatted to 1x10^4 for example. Whereas the exponential part appears above the corresponding axes. This misbehavior has been well described on on matlab central as well, but without a solution.
Thanks for your help.
The 'quick trick'
set(gca, 'YTickLabel',get(gca,'YTick'))
did not work when applied to bar3, as can be seen on the following figure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
编辑
根据此技术解决方案页面,格式化刻度标签的推荐方法是这样的(您可以使用任何数字格式化函数,如 NUM2STR、SPRINTF、MAT2STR 或任何其他..)
但是,在 Z 轴方面似乎存在错误(标签格式正确,但由于某种原因指数乘数仍然显示!)
最后,还有另一种解决方法,我们用文本对象替换刻度标签(请参阅此 技术解决方案页面作为参考):
EDIT
According to this technical solution page, the recommended way of formatting the tick labels is this (you can use any of the number formatting functions like NUM2STR, SPRINTF, MAT2STR, or any other..)
However there seems to be a bug when it comes to the Z-axis (the labels are correctly formatted, but the exponential multiplier is still showing for some reason!)
Finally, there's another workaround where we replace the tick labels with text objects (see this technical solution page as reference):
您可以尝试的另一个技巧是在绘制数据之前缩放数据,然后缩放刻度标签以使其看起来像是以不同的比例绘制的。您可以使用函数 LOG10 自动为您提供帮助根据绘制的值计算适当的比例因子。假设您的数据位于变量
x
和y
中,您可以尝试以下操作:One other trick you can try is to scale your data before you plot it, then scale the tick labels to make it appear that it is plotted on a different scale. You can use the function LOG10 to help you automatically compute an appropriate scale factor based on your plotted values. Assuming you have your data in variables
x
andy
, you can try this:更好地控制刻度标签并避免指数格式的一种方法是使用 TICK2TEXT 来自文件交换。
这是一个例子:
One way to get better control over tick labels, and to avoid the exponential formatting, is to use TICK2TEXT from the File Exchange.
Here's an example: