2016-04-25 66 views
2

如何消除3D繪圖的垂直軸上的科學記數法,並用整數替換它?例如,而不是0.0+2.002e3,我想2002我的示例腳本如下:消除3D繪圖的垂直軸上的科學記數法(Python)

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import axes3d 

yearvec = [2002, 2003, 2004] 
plt.close('all') 
fig = plt.figure() 
ax = fig.gca(projection='3d') 
ax.set_xlim3d(0, 250) 
ax.set_ylim3d(0, 250) 
ax.set_zlim3d(yearvec[0], yearvec[-1]) 

回答

1

嘗試使用ax.zaxis.set_major_formatterax.zaxis.set_major_locator

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import axes3d 
from matplotlib.ticker import FormatStrFormatter, MultipleLocator 

yearvec = [2002, 2003, 2004, 2005] 
plt.close('all') 
fig = plt.figure() 
ax = fig.gca(projection='3d') 
ax.set_xlim3d(0, 250) 
ax.set_ylim3d(0, 250) 
ax.set_zlim3d(yearvec[0], yearvec[-1]) 

majorLocator = MultipleLocator(1) 
ax.zaxis.set_major_locator(majorLocator) 
zFormatter = FormatStrFormatter('%d') 
ax.zaxis.set_major_formatter(zFormatter) 

這是你想要的嗎? enter image description here

+0

完美!這正是我正在尋找的。謝謝! – AaronJPung