pyplot y轴格式中的不需要的偏移量(缩写)

时间:2016-01-22 21:13:38

标签: python matplotlib plot

我有一个python脚本,它从数据库中读取数据并绘制几个图。在其中一些图中,我得到了不需要的缩写(不需要的偏移),如下图所示:

pylab plot unwanted abbreviation

鉴于数字介于1.0020和1.0030之间。但是,如图所示,它们在另一个范围内给出,并且该图要求添加9.99e-1。

我在python中实现了一个绘图函数:

import matplotlib.pyplot as pyplot
from matplotlib.backends.backend_pdf import PdfPages

def plot(x_list, y_list, xlable, ylable, legend, legend_place='best',
         pdf_name=None, show=True, figure_num=None):
    figure = pyplot.figure(num=figure_num, figsize=(6, 6), dpi=80)
    figure.add_subplot(111)
    pyplot.xlabel(xlable)
    pyplot.ylabel(ylable)
    pyplot.tight_layout()

    line_spec = ['b.-', 'rx-', 'go-', 'md-']

    for i, x in enumerate(x_list):
        y = y_list[i]
        pyplot.plot(x, y, line_spec[i])

    pyplot.legend(legend, legend_place)
    if pdf_name is not None:
        pyplot.title(pdf_name)
        pdf = PdfPages(pdf_name + '.pdf')
        pdf.savefig()
        pdf.close()

    if show:
        pyplot.show()

我可以添加一些东西以防止这些偏移吗?

1 个答案:

答案 0 :(得分:0)

您需要获取轴并设置科学计数法,像这样:

ax = pyplot.gca()

#set off Scientific notation from Y-axis
ax.get_yaxis().get_major_formatter().set_useOffset(False)
ax.get_yaxis().get_major_formatter().set_scientific(False)

#set off Scientific notation from X-axis
ax.get_xaxis().get_major_formatter().set_useOffset(False)
ax.get_xaxis().get_major_formatter().set_scientific(False)