2016-04-25 3 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_formatter Попробуйте использовать и ax.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

Смежные вопросы