我有一个matplotlib图,我绘制的数据总是被称为纳秒(1e-9)。在y轴上,如果我有数十纳秒的数据,即。 44e-9,轴上的值显示为4.4,其中a + 1e-8作为偏移量。无论如何强迫轴显示44 + 1e-9偏移?matplotlib:将轴的偏移值格式化为整数或具体数字
对于我的x轴同样如此,轴显示+ 5.54478e4,我宁愿它显示偏移+55447(整数,无小数 - 这里的值是天)。
我已经试过几件事情是这样的:
p = axes.plot(x,y)
p.ticklabel_format(style='plain')
为x轴,但是,这并不工作,虽然我可能使用它不正确或曲解从文档的东西,可以有人指出我正确的方向?
感谢, 乔纳森
我试图做与格式化的东西,但还没有找到任何解决方案尚未...:
myyfmt = ScalarFormatter(useOffset=True)
myyfmt._set_offset(1e9)
axes.get_yaxis().set_major_formatter(myyfmt)
和
myxfmt = ScalarFormatter(useOffset=True)
myxfmt.set_portlimits((-9,5))
axes.get_xaxis().set_major_formatter(myxfmt)
在附注中,我实际上对'偏移号码'对象实际存在的位置感到困惑......它是主要/次要蜱的一部分吗?
您是否尝试过'set_units'? http://matplotlib.sourceforge.net/api/axis_api.html#matplotlib.axis.Axis.set_units(我无法尝试它,因为我没有matplotlib这里。) – katrielalex 2010-09-09 14:18:25
我签出了set_units函数,它似乎比必要的方式更复杂(必须编写/添加一个额外的模块 - basic_units?)。必须有一种方法来编辑刻度的格式。 units/set_unit函数看起来更像单位转换线。感谢您的提示,但它让我找到了一些我正在寻找的解决方案! – Jonathan 2010-09-09 18:08:20
请考虑'rcParams'如果默认关闭,请关闭:'rcParams [“axes.formatter.useoffset”] = False' as here:http://stackoverflow.com/questions/24171064/matplotlib-remove-axis-label-抵消默认 – 2016-12-20 10:53:00