matplotlib.pyplot.ticklabel_format对图形没有影响

时间:2015-07-15 13:12:12

标签: python matplotlib format

正如标题所暗示的,这是一个直截了当的问题:ticklabel_format对我的身材根本没有任何影响。 这是剧本:

import sys
import math
import yaml
import numpy as np
import matplotlib.pyplot as plt
dwarf  = sys.argv[1]
pts = np.empty([100,100])
fig = plt.figure()
fig.suptitle('J value - %s'%dwarf,fontsize=18)
m = plt.imshow(pts,cmap='rainbow',extent=[-2,2,5,9])
plt.xlabel(r'$r_s [kpc]$',fontsize=18)
plt.ylabel(r'$\rho_s [M_{sun} kpc^{-3}]$',fontsize=18)
plt.ticklabel_format(style='sci',axis='x',scilimits=(-2,2))
plt.ticklabel_format(style='sci',axis='y',scilimits=(5,9))
plt.grid()
cx = plt.colorbar(m,pad=0)
cx.set_label(r'$log_{10}(J(\rho_s,r_s))$',fontsize=18)
plt.savefig('output/gridJ_%s.png'%dwarf,dpi=100,format='png')
plt.show()

在生成的图上,轴上的刻度线只是由plt.imshow中的范围kwarg决定的值,而不是我希望它具有的好的科学记数法10 ** n。 知道为什么会行为不端吗?谢谢

1 个答案:

答案 0 :(得分:0)

只需使用matplotlib.pyplot.ylimmatplotlib.pyplot.xlim来设置限制。