我有一个python脚本,它从数据库中读取数据并绘制几个图。在其中一些图中,我得到了不需要的缩写(不需要的偏移),如下图所示:
鉴于数字介于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()
我可以添加一些东西以防止这些偏移吗?
答案 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)