正如标题所暗示的,这是一个直截了当的问题: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。 知道为什么会行为不端吗?谢谢
答案 0 :(得分:0)
只需使用matplotlib.pyplot.ylim
或matplotlib.pyplot.xlim
来设置限制。