2017-10-13 23 views
2

はのは、私は次の図を作成し、次のコードmatplotlibのsemilogyのプロットに指数表記を無効に

import matplotlib.pyplot as plt 
plt.figure() 
plt.semilogy([0,1],[20,90]) 
plt.show() 

を持っているとしましょう:

enter image description here

私はYに関する科学的表記法を無効にしたいと思います - 軸(私は2x10^1の代わりに20,30,40,60を持っています)

私はすでにthisスレッドを見ましたが、私は追加しようとしました

import matplotlib.ticker 
plt.gca().get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter()) 
plt.gca().get_yaxis().get_major_formatter().set_scientific(False) 
plt.gca().get_yaxis().get_major_formatter().set_useOffset(False) 

しかし、結果の図には影響しません。私はpython 3.5.3とmatplotlib 2.1.0を使用しています。私は何が欠けていますか?

答えて

1

y軸のティックは10年以内であるため、小目盛りであり、大目盛りではありません。したがって、マイナーフォーマッタScalarFormatterに設定する必要があります。

plt.gca().yaxis.set_minor_formatter(matplotlib.ticker.ScalarFormatter())

コンプリート例:

import matplotlib.pyplot as plt 
import matplotlib.ticker 

plt.figure() 
plt.semilogy([0,1],[20,90]) 
plt.gca().yaxis.set_minor_formatter(matplotlib.ticker.ScalarFormatter()) 
plt.show() 

enter image description here

+0

Aaaaahは、それは私が欠けていたものです。どうもありがとう! :) – arriopolis

関連する問題