2016-04-25 17 views
2

Wie kann ich die wissenschaftliche Notation auf der vertikalen Achse eines 3D-Plots eliminieren und durch ganze Zahlen ersetzen? beispielsweise statt 0.0+2.002e3, würde ich 2002 Mein Beispielskript mag, ist wie folgt:Wissenschaftliche Notation auf der vertikalen Achse des 3D-Plots (Python) entfernen

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]) 

Antwort

1

Versuchen ax.zaxis.set_major_formatter und ax.zaxis.set_major_locator mit:

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) 

Dies ist, was Sie wollen? enter image description here

+0

Perfekt! Genau danach suche ich. Vielen Dank! – AaronJPung