Habituellement, vous devez simplement mettre à l'échelle les données avant le tracé. Donc, au lieu de plt.plot(x,y)
, vous utiliseriez plt.plot(x,y/1e6)
.
Pour formater les valeurs avec 3 décimales, utilisez un matplotlib.ticker.StrMethodFormatter
et fournissez un format avec 3 décimales, dans ce cas "{x:.3f}"
.
import matplotlib.pyplot as plt
import matplotlib.ticker
import numpy as np; np.random.seed(42)
x = np.arange(5)
y = np.array([5e5,2e5,0,3e5,4e5])
plt.plot(x,y/1e6)
plt.gca().yaxis.set_major_formatter(matplotlib.ticker.StrMethodFormatter("{x:.3f}"))
plt.show()
Je voudrais vous inviter à lire [ask] et [mcve] et de s'en tenir à ces guides lorsque vous posez une question. – ImportanceOfBeingErnest