29

Python 2.7を使用して、pyqtプログラムでmatplotlibを使用していくつかの大きな数字をプロットしています。1e+18 から 3e+18 (通常) の範囲の y 軸があります。各目盛りが科学表記法と小数点以下 2 桁で値を表示するようにしたいと思います。たとえば、2e+18 と 3e+18 の間の値は、いくつかの目盛りで 2e+18 としか読み取れないため、2e+18 だけではなく 2.35e+18 となります。これがその問題の例です。

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(0, 300, 20)
y = np.linspace(0,300, 20)
y = y*1e16
ax.plot(x,y)  
ax.get_xaxis().set_major_formatter(plt.LogFormatter(10,  labelOnlyBase=False))
ax.get_yaxis().set_major_formatter(plt.LogFormatter(10,  labelOnlyBase=False))
plt.show()
4

2 に答える 2